function getColRowCode(det, base = 7){
        let tens = Math.floor((det-1)/base) + 1
        let extra = det % base == 0 ? base : det % base
        return 10 * tens + extra
}

function getNumberNameLT1000(n){ //currently only works up to 1000
        if (n < 100) return getNumberNameLT100(n)
        if (n % 100 == 0) return getNumberNameLT100(n / 100) + " Hundred"
        let hun = getNumberNameLT100(Math.floor(n / 100)) + " Hundred and "

        return hun + getNumberNameLT100(n % 100)
}

function getNumberName(n){ //currently only works up to 1e6
        if (n < 1000) return getNumberNameLT1000(n)
        if (n < 1e6) {
                if (n % 1000 == 0) return getNumberNameLT1000(n / 1000) + " Thousand"
                let thou = getNumberNameLT1000(Math.floor(n / 1000)) + " Thousand "
                if (n % 1000 < 100) return thou + "and " + getNumberNameLT1000(n % 1000)
                return thou + getNumberNameLT1000(n % 1000)
        }
}

function getNumberNameLT100(n){
        let units = {
                1: "One",
                2: "Two",
                3: "Three",
                4: "Four",
                5: "Five",
                6: "Six",
                7: "Seven",
                8: "Eight",
                9: "Nine",
        }
        let tens = {
                2: "Twenty",
                3: "Thirty",
                4: "Forty",
                5: "Fifty",
                6: "Sixty",
                7: "Seventy",
                8: "Eighty",
                9: "Ninety",
        }
        let forced = {
                10: "Ten",
                11: "Eleven",
                12: "Twelve",
                13: "Thirteen",
                14: "Fourteen",
                15: "Fifteen",
                16: "Sixteen",
                17: "Seventeen",
                18: "Eighteen", 
                19: "Nineteen",
        }
        if (forced[n] != undefined) return forced[n]
        if (n == 0) return "Zero"
        if (n % 10 == 0) return tens[n/10]
        if (n < 10) return units[n]
        return tens[Math.floor(n/10)] + "-" + units[n % 10].toLowerCase()
}

function getAchStuffFromNumber(n){
        let name = getNumberName(n)
        let id = getColRowCode(n)
        let done = function(){
                return hasAchievement("ach", id) || PROGRESSION_MILESTONES[n]() //|| (hasAchievement("ach", id + 100) && !player.extremeMode)
        }
        let isChall = false
        if (n > 301 && n < 309) isChall = true
        if (n > 323 && n < 330) isChall = true
        let startStr = isChall ? "Complete " : "Get "
        let tooltip = function(){
                return startStr + PROGRESSION_MILESTONES_TEXT[n]
        }

        // KEEP IN THIS FILE

        let tens = id - id % 10
        
        let a = Math.sin(tens/35 + 0) 
        let b = Math.sin(tens/35 + 1.5)
        let c = Math.sin(tens/35 + 3)
        a = convertToB16(Math.floor(a*128) + 128)
        b = convertToB16(Math.floor(b*128) + 128)
        c = convertToB16(Math.floor(c*128) + 128)
        let hasRow = {"background-color": "#" + String(a) + String(b) + String(c)}

        // END OF KEEP IN THIS FILE

        let style = function(){
                if (player.ach.hiddenRows >= tens) return {}
                for (i = 1; i <= 7; i++){
                        if (!hasAchievement("ach", tens + i)) return {}
                }
                return hasRow
        }
        let unlocked 
        if (n <= 56) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return true
                }
        } else if (n <= 161) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.tokens.unlocked
                }
        } else if (n <= 189) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.p.unlocked
                }
        } else if (n <= 301) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.l.unlocked
                }
        } else if (n <= 385) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.d.unlocked
                }
        } else if (n <= 532) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.cells.unlocked
                }
        } else if (n <= 595) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.t.unlocked
                }
        } else if (n <= 742) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.or.unlocked
                }
        } else if (n <= 854) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.an.unlocked
                }
        } else if (n <= 931) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.nu.unlocked
                }
        } else if (n <= 987) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.sp.unlocked
                }
        } else if (n <= 1092) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.e.unlocked
                }
        } else if (n <= 1127) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.pl.unlocked
                }
        } else if (n <= 1253) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.hu.unlocked
                }
        } else if (n <= 7777) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return player.hu.unlocked
                }
        } else if (n <= Infinity) {
                unlocked = function(){
                        if (player.ach.hiddenRows >= n/7) return false
                        return false
                }
        } 
        return {name: name, done: done, tooltip: tooltip, unlocked: unlocked, style: style}
}

function getFirstNAchData(n){
        let obj = {}
        for (i = 1; i <= n; i++){
                obj[getColRowCode(i)] = getAchStuffFromNumber(i)
        }
        obj.rows = Math.ceil(n / 7)
        obj.cols = 7
        return obj
}

function hasCompletedFirstNRows(n){
	for (i = 1; i <= n; i++){
		for (j = 1; j <= 7; j++){
			let x = 10 * i + j
			if (layers.ach.achievements[x] == undefined) return false
			if (!hasAchievement("ach", x)) return false
		}
	}
	return true
}

PROGRESSION_MILESTONES = {
        1:   () => player.h.points.root(1).gte(20),
        2:   () => player.h.points.root(2).gte(20),
        3:   () => player.h.points.root(3).gte(20),
        4:   () => player.h.deuterium.points.gte(Decimal.pow(100, 0)),
        5:   () => player.h.deuterium.points.gte(Decimal.pow(100, 1)),
        6:   () => player.h.atomic_hydrogen.points.div(5).gte(Decimal.pow(100, 0)),
        7:   () => player.h.atomic_hydrogen.points.div(5).gte(Decimal.pow(100, 1)),
        8:   () => player.h.deuterium.points.gte(Decimal.pow(100, 2)),
        9:   () => player.h.deuterium.points.gte(Decimal.pow(100, 3)),
        10:  () => player.h.atomic_hydrogen.points.div(5).gte(Decimal.pow(100, 2)),
        11:  () => player.h.atomic_hydrogen.points.div(5).gte(Decimal.pow(100, 3)),
        12:  () => player.h.points.root(7).gte(10),
        13:  () => player.h.points.root(11).gte(10),
        14:  () => player.h.points.root(15).gte(10),
        15:  () => player.h.points.root(22).gte(10),
        16:  () => player.h.points.root(30).gte(10),
        17:  () => player.h.points.root(42).gte(10),
        18:  () => player.h.points.root(56).gte(10),
        19:  () => player.h.points.root(77).gte(10),
        20:  () => player.h.points.root(101).gte(10),
        21:  () => player.h.points.root(135).gte(10),
        22:  () => player.h.points.root(176).gte(10),
        23:  () => player.h.points.root(231).gte(10),
        24:  () => player.h.points.root(297).gte(10),
        25:  () => player.h.points.root(385).gte(10),
        26:  () => player.h.points.root(490).gte(10),
        27:  () => player.h.points.root(627).gte(10),
        28:  () => player.h.points.root(792).gte(10),
        29:  () => player.c.points.root(1).gte(10),
        30:  () => player.c.points.root(2).gte(10),
        31:  () => player.c.points.root(3).gte(10),
        32:  () => player.c.points.root(4).gte(10),
        33:  () => player.c.points.root(5).gte(10),
        34:  () => player.c.points.root(6).gte(10),
        35:  () => player.c.points.root(7).gte(10),
        36:  () => player.o.points.root(1).gte(10),
        37:  () => player.o.points.root(2).gte(10),
        38:  () => player.o.points.root(3).gte(10),
        39:  () => player.o.points.root(4).gte(10),
        40:  () => player.o.points.root(5).gte(10),
        41:  () => player.o.points.root(6).gte(10),
        42:  () => player.o.points.root(7).gte(10),
        43:  () => player.c.points.root(9).gte(10),
        44:  () => player.c.points.root(12).gte(10),
        45:  () => player.c.points.root(15).gte(10),
        46:  () => player.c.points.root(18).gte(10),
        47:  () => player.c.points.root(21).gte(10),
        48:  () => player.c.points.root(24).gte(10),
        49:  () => player.c.points.root(27).gte(10),
        50:  () => player.o.points.root(9).gte(10),
        51:  () => player.o.points.root(12).gte(10),
        52:  () => player.o.points.root(15).gte(10),
        53:  () => player.o.points.root(18).gte(10),
        54:  () => player.o.points.root(21).gte(10),
        55:  () => player.o.points.root(24).gte(10),
        56:  () => player.o.points.root(27).gte(10),
        57:  () => player.tokens.total.gt(0),
        58:  () => player.tokens.total.gt(1),
        59:  () => player.tokens.total.gt(2),
        60:  () => player.tokens.total.gt(3),
        61:  () => player.tokens.total.gt(4),
        62:  () => player.tokens.total.gt(5),
        63:  () => player.tokens.total.gt(6),
        64:  () => player.tokens.total.gt(7),
        65:  () => player.tokens.total.gt(8),
        66:  () => player.tokens.total.gt(9),
        67:  () => player.tokens.total.gt(10),
        68:  () => player.tokens.total.gt(11),
        69:  () => player.tokens.total.gt(12),
        70:  () => player.tokens.total.gt(13),
        71:  () => player.tokens.total.gt(14),
        72:  () => player.tokens.total.gt(15),
        73:  () => player.tokens.total.gt(16),
        74:  () => player.tokens.total.gt(17),
        75:  () => player.tokens.total.gt(18),
        76:  () => player.tokens.total.gt(19),
        77:  () => player.tokens.total.gt(20),
        78:  () => player.tokens.total.gt(21),
        79:  () => player.tokens.total.gt(22),
        80:  () => player.tokens.total.gt(23),
        81:  () => player.tokens.total.gt(24),
        82:  () => player.tokens.total.gt(25),
        83:  () => player.tokens.total.gt(26),
        84:  () => player.tokens.total.gt(27),
        85:  () => player.tokens.total.gt(28),
        86:  () => player.tokens.total.gt(29),
        87:  () => player.tokens.total.gt(30),
        88:  () => player.tokens.total.gt(31),
        89:  () => player.tokens.total.gt(32),
        90:  () => player.tokens.total.gt(33),
        91:  () => player.tokens.total.gt(34),
        92:  () => player.tokens.total.gt(35),
        93:  () => player.tokens.total.gt(36),
        94:  () => player.tokens.total.gt(37),
        95:  () => player.tokens.total.gt(38),
        96:  () => player.tokens.total.gt(39),
        97:  () => player.tokens.total.gt(40),
        98:  () => player.tokens.total.gt(41),
        99:  () => player.tokens.total.gt(42),
        100: () => player.tokens.total.gt(43),
        101: () => player.tokens.total.gt(44),
        102: () => player.tokens.total.gt(45),
        103: () => player.tokens.total.gt(46),
        104: () => player.tokens.total.gt(47),
        105: () => player.tokens.total.gt(48),
        106: () => player.tokens.total.gt(49),
        107: () => player.tokens.total.gt(50),
        108: () => player.tokens.total.gt(51),
        109: () => player.tokens.total.gt(52),
        110: () => player.tokens.total.gt(53),
        111: () => player.tokens.total.gt(54),
        112: () => player.tokens.total.gt(55),
        113: () => player.tokens.total.gt(56),
        114: () => player.tokens.total.gt(57),
        115: () => player.tokens.total.gt(58),
        116: () => player.tokens.total.gt(59),
        117: () => player.tokens.total.gt(60),
        118: () => player.tokens.total.gt(61),
        119: () => player.tokens.total.gt(62),
        120: () => player.tokens.total.gt(63),
        121: () => player.tokens.total.gt(64),
        122: () => player.tokens.total.gt(65),
        123: () => player.tokens.total.gt(66),
        124: () => player.tokens.total.gt(67),
        125: () => player.tokens.total.gt(68),
        126: () => player.tokens.total.gt(69),
        127: () => player.tokens.total.gt(70),
        128: () => player.tokens.total.gt(71),
        129: () => player.tokens.total.gt(72),
        130: () => player.tokens.total.gt(73),
        131: () => player.tokens.total.gt(74),
        132: () => player.tokens.total.gt(75),
        133: () => player.tokens.total.gt(76),
        134: () => player.tokens.total.gt(77),
        135: () => player.tokens.total.gt(78),
        136: () => player.tokens.total.gt(79),
        137: () => player.tokens.total.gt(80),
        138: () => player.tokens.total.gt(81),
        139: () => player.tokens.total.gt(82),
        140: () => player.tokens.total.gt(83),
        141: () => player.n.points.max(10).log10().gt(7),
        142: () => player.n.points.max(10).log10().gt(10),
        143: () => player.n.points.max(10).log10().gt(15),
        144: () => player.n.points.max(10).log10().gt(20),
        145: () => player.n.points.max(10).log10().gt(27),
        146: () => player.n.points.max(10).log10().gt(35),
        147: () => player.n.points.max(10).log10().gt(45),
        148: () => player.tokens.total.gt(84),
        149: () => player.tokens.total.gt(85),
        150: () => player.tokens.total.gt(86),
        151: () => player.tokens.total.gt(87),
        152: () => player.tokens.total.gt(88),
        153: () => player.tokens.total.gt(89),
        154: () => player.tokens.total.gt(90),
        155: () => player.p.points.gt(Decimal.pow(10, 1)),
        156: () => player.p.points.gt(Decimal.pow(10, 2)),
        157: () => player.p.points.gt(Decimal.pow(10, 4)),
        158: () => player.p.points.gt(Decimal.pow(10, 8)),
        159: () => player.p.points.gt(Decimal.pow(10, 16)),
        160: () => player.p.points.gt(Decimal.pow(10, 32)),
        161: () => player.p.points.gt(Decimal.pow(10, 64)),
        162: () => player.mu.points.gte(7),
        163: () => player.mu.points.gte(14),
        164: () => player.mu.points.gte(21),
        165: () => player.mu.points.gte(28),
        166: () => player.mu.points.gte(35),
        167: () => player.mu.points.gte(42),
        168: () => player.mu.points.gte(49),
        169: () => player.mu.points.gte(56),
        170: () => player.mu.points.gte(63),
        171: () => player.mu.points.gte(70),
        172: () => player.mu.points.gte(77),
        173: () => player.mu.points.gte(84),
        174: () => player.mu.points.gte(91),
        175: () => player.mu.points.gte(98),
        176: () => player.l.total.gte(1),
        177: () => player.l.total.gte(2),
        178: () => player.l.total.gte(3),
        179: () => player.l.total.gte(4),
        180: () => player.l.total.gte(5),
        181: () => player.l.total.gte(6),
        182: () => player.l.total.gte(7),
        183: () => player.l.total.gte(Decimal.pow(10, 1)),
        184: () => player.l.total.gte(Decimal.pow(10, 2)),
        185: () => player.l.total.gte(Decimal.pow(10, 3)),
        186: () => player.l.total.gte(Decimal.pow(10, 4)),
        187: () => player.l.total.gte(Decimal.pow(10, 5)),
        188: () => player.l.total.gte(Decimal.pow(10, 6)),
        189: () => player.l.total.gte(Decimal.pow(10, 7)),
        190: () => player.l.total.gte(Decimal.pow(10, 8)),
        191: () => player.l.total.gte(Decimal.pow(10, 9)),
        192: () => player.l.total.gte(Decimal.pow(10, 10)),
        193: () => player.l.total.gte(Decimal.pow(10, 11)),
        194: () => player.l.total.gte(Decimal.pow(10, 12)),
        195: () => player.l.total.gte(Decimal.pow(10, 13)),
        196: () => player.l.total.gte(Decimal.pow(10, 14)),
        197: () => player.l.challenges[11] >= 2,
        198: () => player.l.challenges[11] >= 6,
        199: () => player.l.challenges[11] >= 10,
        200: () => player.l.challenges[11] >= 14,
        201: () => player.l.challenges[11] >= 18,
        202: () => player.l.challenges[11] >= 22,
        203: () => player.l.challenges[11] >= 26,
        204: () => player.l.challenges[11] >= 30,
        205: () => player.l.challenges[11] >= 34,
        206: () => player.l.challenges[11] >= 38,
        207: () => player.l.challenges[11] >= 42,
        208: () => player.l.challenges[11] >= 46,
        209: () => player.l.challenges[11] >= 50,
        210: () => player.l.challenges[11] >= 54,
        211: () => player.l.challenges[11] >= 58,
        212: () => player.l.challenges[11] >= 62,
        213: () => player.l.challenges[11] >= 66,
        214: () => player.l.challenges[11] >= 70,
        215: () => player.l.challenges[11] >= 74,
        216: () => player.l.challenges[11] >= 78,
        217: () => player.l.challenges[11] >= 82,
        218: () => player.l.challenges[11] >= 86,
        219: () => player.l.challenges[11] >= 90,
        220: () => player.l.challenges[11] >= 94,
        221: () => player.l.challenges[11] >= 98,
        222: () => player.l.challenges[11] >= 102,
        223: () => player.l.challenges[11] >= 106,
        224: () => player.l.challenges[11] >= 110,
        225: () => player.l.grid[102].gems.gt(0),
        226: () => player.l.grid[201].gems.gt(0),
        227: () => player.l.grid[202].gems.gt(0),
        228: () => player.l.grid[103].gems.gt(0),
        229: () => player.l.grid[203].gems.gt(0),
        230: () => player.l.grid[301].gems.gt(0),
        231: () => player.l.grid[302].gems.gt(0),
        232: () => player.l.grid[303].gems.gt(0),
        233: () => player.a.points.gte(2),
        234: () => player.a.points.gte(4),
        235: () => player.a.points.gte(8),
        236: () => player.a.points.gte(16),
        237: () => player.a.points.gte(32),
        238: () => player.a.points.gte(64),
        239: () => player.l.grid[104].gems.gt(0),
        240: () => player.l.grid[204].gems.gt(0),
        241: () => player.l.grid[304].gems.gt(0),
        242: () => player.l.grid[401].gems.gt(0),
        243: () => player.l.grid[402].gems.gt(0),
        244: () => player.l.grid[403].gems.gt(0),
        245: () => player.l.grid[404].gems.gt(0),
        246: () => player.l.grid[105].gems.gt(0),
        247: () => player.l.grid[205].gems.gt(0),
        248: () => player.l.grid[305].gems.gt(0),
        249: () => player.l.grid[405].gems.gt(0),
        250: () => player.l.grid[501].gems.gt(0),
        251: () => player.l.grid[502].gems.gt(0),
        252: () => player.l.grid[503].gems.gt(0),
        253: () => player.l.grid[504].gems.gt(0),
        254: () => player.l.grid[505].gems.gt(0),
        255: () => player.a.points.gte(1e2),
        256: () => player.a.points.gte(1e4),
        257: () => player.a.points.gte(1e8),
        258: () => player.a.points.gte(1e16),
        259: () => player.a.points.gte(1e32),
        260: () => player.a.protein.points.gte("1e1"),
        261: () => player.a.protein.points.gte("1e2"),
        262: () => player.a.protein.points.gte("1e4"),
        263: () => player.a.protein.points.gte("1e8"),
        264: () => player.a.protein.points.gte("1e16"),
        265: () => player.a.protein.points.gte("1e32"),
        266: () => player.a.protein.points.gte("1e64"),
        267: () => player.a.protein.points.gte("1e128"),
        268: () => player.a.protein.points.gte("1e256"),
        269: () => player.a.protein.points.gte("1e512"),
        270: () => player.a.protein.points.gte("1e1024"),
        271: () => player.a.protein.points.gte("1e2048"),
        272: () => player.a.protein.points.gte("1e4096"),
        273: () => player.a.protein.points.gte("1e8192"),
        274: () => player.a.protein.points.gte("1e1e4"),
        275: () => player.a.protein.points.gte("1e2e4"),
        276: () => player.a.protein.points.gte("1e5e4"),
        277: () => player.a.protein.points.gte("1e1e5"),
        278: () => player.a.protein.points.gte("1e2e5"),
        279: () => player.a.protein.points.gte("1e5e5"),
        280: () => player.a.protein.points.gte("1e1e6"),
        281: () => player.a.protein.points.gte("1e2e6"),
        282: () => player.a.protein.points.gte("1e5e6"),
        283: () => player.a.protein.points.gte("1e1e7"),
        284: () => player.a.protein.points.gte("1e2e7"),
        285: () => player.a.protein.points.gte("1e5e7"),
        286: () => player.a.protein.points.gte("1e1e8"),
        287: () => player.a.protein.points.gte("1e2e8"),
        288: () => player.a.protein.points.gte("1e5e8"),
        289: () => player.a.protein.points.gte("1e1e9"),
        290: () => player.a.protein.points.gte("1e2e9"),
        291: () => player.a.protein.points.gte("1e5e9"),
        292: () => player.a.protein.points.gte("1e1e10"),
        293: () => player.a.protein.points.gte("1e2e10"),
        294: () => player.a.protein.points.gte("1e5e10"),
        295: () => player.d.points.gte(1),
        296: () => player.d.points.gte(3),
        297: () => player.d.points.gte(5),
        298: () => player.d.points.gte(17),
        299: () => player.d.points.gte(257),
        300: () => player.d.points.gte(65537),
        301: () => player.d.points.gte(4294967297),
        302: () => hasChallenge("l", 21),
        303: () => hasChallenge("l", 22),
        304: () => hasChallenge("l", 31),
        305: () => hasChallenge("l", 32),
        306: () => hasChallenge("l", 41),
        307: () => hasChallenge("l", 42),
        308: () => hasChallenge("l", 51),
        309: () => player.l.grid[106].gems.gt(0),
        310: () => player.l.grid[206].gems.gt(0),
        311: () => player.l.grid[306].gems.gt(0),
        312: () => player.l.grid[406].gems.gt(0),
        313: () => player.l.grid[506].gems.gt(0),
        314: () => player.l.grid[601].gems.gt(0),
        315: () => player.l.grid[602].gems.gt(0),
        316: () => player.l.grid[603].gems.gt(0),
        317: () => player.l.grid[604].gems.gt(0),
        318: () => player.l.grid[605].gems.gt(0),
        319: () => player.l.grid[606].gems.gt(0),
        320: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 6))),
        321: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 7))),
        322: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 8))),
        323: () => hasChallenge("l", 52),
        324: () => hasChallenge("l", 61),
        325: () => hasChallenge("l", 62),
        326: () => hasChallenge("l", 71),
        327: () => hasChallenge("l", 72),
        328: () => hasChallenge("l", 81),
        329: () => hasChallenge("l", 82),
        330: () => player.l.grid[107].gems.gt(0),
        331: () => player.l.grid[207].gems.gt(0),
        332: () => player.l.grid[307].gems.gt(0),
        333: () => player.l.grid[407].gems.gt(0),
        334: () => player.l.grid[507].gems.gt(0),
        335: () => player.l.grid[607].gems.gt(0),
        336: () => player.l.grid[701].gems.gt(0),
        337: () => player.l.grid[702].gems.gt(0),
        338: () => player.l.grid[703].gems.gt(0),
        339: () => player.l.grid[704].gems.gt(0),
        340: () => player.l.grid[705].gems.gt(0),
        341: () => player.l.grid[706].gems.gt(0),
        342: () => player.l.grid[707].gems.gt(0),
        343: () => player.l.grid[108].gems.gt(0),
        344: () => player.l.grid[208].gems.gt(0),
        345: () => player.l.grid[308].gems.gt(0),
        346: () => player.l.grid[408].gems.gt(0),
        347: () => player.l.grid[508].gems.gt(0),
        348: () => player.l.grid[608].gems.gt(0),
        349: () => player.l.grid[708].gems.gt(0),
        350: () => player.l.grid[801].gems.gt(0),
        351: () => player.l.grid[802].gems.gt(0),
        352: () => player.l.grid[803].gems.gt(0),
        353: () => player.l.grid[804].gems.gt(0),
        354: () => player.l.grid[805].gems.gt(0),
        355: () => player.l.grid[806].gems.gt(0),
        356: () => player.l.grid[807].gems.gt(0),
        357: () => player.l.grid[808].gems.gt(0),
        358: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 9))),
        359: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 10))),
        360: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 11))),
        361: () => player.a.protein.points.gte("1e1e11"),
        362: () => player.a.protein.points.gte("1e2e11"),
        363: () => player.a.protein.points.gte("1e5e11"),
        364: () => player.a.protein.points.gte("1e1e12"),
        365: () => player.cells.points.gte(1),
        366: () => player.cells.points.gte(2),
        367: () => player.cells.points.gte(5),
        368: () => player.cells.points.gte(14),
        369: () => player.cells.points.gte(42),
        370: () => player.cells.points.gte(132),
        371: () => player.cells.points.gte(429),
        372: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 12))),
        373: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 13))),
        374: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 14))),
        375: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 15))),
        376: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 16))),
        377: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 17))),
        378: () => player.d.points.gte(Decimal.pow(2, Decimal.pow(2, 18))),
        379: () => player.a.protein.points.gte("1e1e13"),
        380: () => player.a.protein.points.gte("1e3e13"),
        381: () => player.a.protein.points.gte("1e1e14"),
        382: () => player.a.protein.points.gte("1e3e14"),
        383: () => player.a.protein.points.gte("1e1e15"),
        384: () => player.a.protein.points.gte("1e3e15"),
        385: () => player.a.protein.points.gte("1e1e16"),
        386: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 0))),
        387: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 1))),
        388: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 2))),
        389: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 3))),
        390: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 4))),
        391: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 5))),
        392: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 6))),
        393: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 0))),
        394: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 1))),
        395: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 2))),
        396: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 3))),
        397: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 4))),
        398: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 5))),
        399: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 6))),
        400: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 0))),
        401: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 1))),
        402: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 2))),
        403: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 3))),
        404: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 4))),
        405: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 5))),
        406: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 6))),
        407: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 0))),
        408: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 1))),
        409: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 2))),
        410: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 3))),
        411: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 4))),
        412: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 5))),
        413: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 6))),
        414: () => player.a.protein.points.gte("1e3e16"),
        415: () => player.a.protein.points.gte("1e1e17"),
        416: () => player.a.protein.points.gte("1e3e17"),
        417: () => player.a.protein.points.gte("1e1e18"),
        418: () => player.a.protein.points.gte("1e3e18"),
        419: () => player.a.protein.points.gte("1e1e19"),
        420: () => player.a.protein.points.gte("1e3e19"),
        421: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 0))),
        422: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 1))),
        423: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 2))),
        424: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 3))),
        425: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 4))),
        426: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 5))),
        427: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 6))),
        428: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 2))),
        429: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 3))),
        430: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 4))),
        431: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 5))),
        432: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 6))),
        433: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 7))),
        434: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 8))),
        435: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 7))),
        436: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 8))),
        437: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 9))),
        438: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 10))),
        439: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 11))),
        440: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 12))),
        441: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 13))),
        442: () => player.tokens.total.gte(200),
        443: () => player.tokens.total.gte(205),
        444: () => player.tokens.total.gte(210),
        445: () => player.tokens.total.gte(215),
        446: () => player.tokens.total.gte(220),
        447: () => player.tokens.total.gte(225),
        448: () => player.tokens.total.gte(230),
        449: () => player.tokens.total.gte(235),
        450: () => player.tokens.total.gte(240),
        451: () => player.tokens.total.gte(245),
        452: () => player.tokens.total.gte(250),
        453: () => player.tokens.total.gte(255),
        454: () => player.tokens.total.gte(260),
        455: () => player.tokens.total.gte(265),
        456: () => player.tokens.total.gte(270),
        457: () => player.tokens.total.gte(275),
        458: () => player.tokens.total.gte(280),
        459: () => player.tokens.total.gte(285),
        460: () => player.tokens.total.gte(290),
        461: () => player.tokens.total.gte(295),
        462: () => player.tokens.total.gte(300),
        463: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 7))),
        464: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 8))),
        465: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 9))),
        466: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 10))),
        467: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 11))),
        468: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 12))),
        469: () => player.cells.mu.points.gte(Decimal.pow(10, Decimal.pow(2, 13))),
        470: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 7))),
        471: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 8))),
        472: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 9))),
        473: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 10))),
        474: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 11))),
        475: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 12))),
        476: () => player.cells.lambda.points.gte(Decimal.pow(10, Decimal.pow(2, 13))),
        477: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 7))),
        478: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 8))),
        479: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 9))),
        480: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 10))),
        481: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 11))),
        482: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 12))),
        483: () => player.cells.kappa.points.gte(Decimal.pow(10, Decimal.pow(2, 13))),
        484: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 7))),
        485: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 8))),
        486: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 9))),
        487: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 10))),
        488: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 11))),
        489: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 12))),
        490: () => player.cells.iota.points.gte(Decimal.pow(10, Decimal.pow(2, 13))),
        491: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 9))),
        492: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 10))),
        493: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 11))),
        494: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 12))),
        495: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 13))),
        496: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 14))),
        497: () => player.cells.points.gte(Decimal.pow(10, Decimal.pow(2, 15))),
        498: () => player.tokens.total.gte(305),
        499: () => player.tokens.total.gte(310),
        500: () => player.tokens.total.gte(315),
        501: () => player.tokens.total.gte(320),
        502: () => player.tokens.total.gte(325),
        503: () => player.tokens.total.gte(330),
        504: () => player.tokens.total.gte(335),
        505: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 14))),
        506: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 15))),
        507: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 16))),
        508: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 17))),
        509: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 18))),
        510: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 19))),
        511: () => player.cells.stem_cells.points.gte(Decimal.pow(10, Decimal.pow(2, 20))),
        512: () => player.tokens.total.gte(340),
        513: () => player.tokens.total.gte(345),
        514: () => player.tokens.total.gte(350),
        515: () => player.tokens.total.gte(355),
        516: () => player.tokens.total.gte(360),
        517: () => player.tokens.total.gte(365),
        518: () => player.tokens.total.gte(370),
        519: () => player.t.upgrades.length >= 1,
        520: () => player.t.upgrades.length >= 4,
        521: () => player.t.upgrades.length >= 9,
        522: () => player.t.upgrades.length >= 16,
        523: () => player.t.upgrades.length >= 25,
        524: () => player.t.upgrades.length >= 36,
        525: () => player.t.upgrades.length >= 49,
        526: () => player.tokens.total.gte(380),
        527: () => player.tokens.total.gte(390),
        528: () => player.tokens.total.gte(400),
        529: () => player.tokens.total.gte(410),
        530: () => player.tokens.total.gte(420),
        531: () => player.tokens.total.gte(430),
        532: () => player.tokens.total.gte(440),
        533: () => player.tokens.tokens2.total.gte(1),
        534: () => player.tokens.tokens2.total.gte(2),
        535: () => player.tokens.tokens2.total.gte(3),
        536: () => player.tokens.tokens2.total.gte(4),
        537: () => player.tokens.tokens2.total.gte(5),
        538: () => player.tokens.tokens2.total.gte(6),
        539: () => player.tokens.tokens2.total.gte(7),
        540: () => player.tokens.tokens2.total.gte(8),
        541: () => player.tokens.tokens2.total.gte(9),
        542: () => player.tokens.tokens2.total.gte(10),
        543: () => player.tokens.tokens2.total.gte(11),
        544: () => player.tokens.tokens2.total.gte(12),
        545: () => player.tokens.tokens2.total.gte(13),
        546: () => player.tokens.tokens2.total.gte(14),
        547: () => player.tokens.tokens2.total.gte(15),
        548: () => player.tokens.tokens2.total.gte(16),
        549: () => player.tokens.tokens2.total.gte(17),
        550: () => player.tokens.tokens2.total.gte(18),
        551: () => player.tokens.tokens2.total.gte(19),
        552: () => player.tokens.tokens2.total.gte(20),
        553: () => player.tokens.tokens2.total.gte(21),
        554: () => player.tokens.tokens2.total.gte(22),
        555: () => player.tokens.tokens2.total.gte(23),
        556: () => player.tokens.tokens2.total.gte(24),
        557: () => player.tokens.tokens2.total.gte(25),
        558: () => player.tokens.tokens2.total.gte(26),
        559: () => player.tokens.tokens2.total.gte(27),
        560: () => player.tokens.tokens2.total.gte(28),
        561: () => player.tokens.tokens2.total.gte(29),
        562: () => player.tokens.tokens2.total.gte(30),
        563: () => player.tokens.tokens2.total.gte(31),
        564: () => player.tokens.tokens2.total.gte(32),
        565: () => player.tokens.tokens2.total.gte(33),
        566: () => player.tokens.tokens2.total.gte(34),
        567: () => player.tokens.tokens2.total.gte(35),
        568: () => player.tokens.tokens2.total.gte(36),
        569: () => player.tokens.tokens2.total.gte(37),
        570: () => player.tokens.tokens2.total.gte(38),
        571: () => player.tokens.tokens2.total.gte(39),
        572: () => player.tokens.tokens2.total.gte(40),
        573: () => player.tokens.tokens2.total.gte(41),
        574: () => player.tokens.tokens2.total.gte(42),
        575: () => player.or.points.gte(1),
        576: () => player.or.points.gte(2),
        577: () => player.or.points.gte(3),
        578: () => player.or.points.gte(4),
        579: () => player.or.points.gte(5),
        580: () => player.or.points.gte(6),
        581: () => player.or.points.gte(7),
        582: () => player.tokens.tokens2.total.gte(45),
        583: () => player.tokens.tokens2.total.gte(50),
        584: () => player.tokens.tokens2.total.gte(55),
        585: () => player.tokens.tokens2.total.gte(60),
        586: () => player.tokens.tokens2.total.gte(65),
        587: () => player.tokens.tokens2.total.gte(70),
        588: () => player.tokens.tokens2.total.gte(75),
        589: () => player.tokens.tokens2.total.gte(80),
        590: () => player.tokens.tokens2.total.gte(85),
        591: () => player.tokens.tokens2.total.gte(90),
        592: () => player.tokens.tokens2.total.gte(95),
        593: () => player.tokens.tokens2.total.gte(100),
        594: () => player.tokens.tokens2.total.gte(105),
        595: () => player.tokens.tokens2.total.gte(110),
        596: () => player.or.points.gte(1e2),
        597: () => player.or.points.gte(1e3),
        598: () => player.or.points.gte(1e4),
        599: () => player.or.points.gte(1e5),
        600: () => player.or.points.gte(1e6),
        601: () => player.or.points.gte(1e7),
        602: () => player.or.points.gte(1e8),
        603: () => player.or.oxygenated_blood.points.gte(1e1),
        604: () => player.or.oxygenated_blood.points.gte(1e2),
        605: () => player.or.oxygenated_blood.points.gte(1e4),
        606: () => player.or.oxygenated_blood.points.gte(1e8),
        607: () => player.or.oxygenated_blood.points.gte(1e16),
        608: () => player.or.oxygenated_blood.points.gte(1e32),
        609: () => player.or.oxygenated_blood.points.gte(1e64),
        610: () => player.tokens.tokens2.total.gte(115),
        611: () => player.tokens.tokens2.total.gte(120),
        612: () => player.tokens.tokens2.total.gte(125),
        613: () => player.tokens.tokens2.total.gte(130),
        614: () => player.tokens.tokens2.total.gte(135),
        615: () => player.tokens.tokens2.total.gte(140),
        616: () => player.tokens.tokens2.total.gte(145),
        617: () => player.or.contaminants.points.gte(Decimal.pow(2, 0).pow10()) || hasMilestone("hu", 41),
        618: () => player.or.contaminants.points.gte(Decimal.pow(2, 1).pow10()) || hasMilestone("hu", 41),
        619: () => player.or.contaminants.points.gte(Decimal.pow(2, 2).pow10()) || hasMilestone("hu", 41),
        620: () => player.or.contaminants.points.gte(Decimal.pow(2, 3).pow10()) || hasMilestone("hu", 41),
        621: () => player.or.contaminants.points.gte(Decimal.pow(2, 4).pow10()) || hasMilestone("hu", 41),
        622: () => player.or.contaminants.points.gte(Decimal.pow(2, 5).pow10()) || hasMilestone("hu", 41),
        623: () => player.or.contaminants.points.gte(Decimal.pow(2, 6).pow10()) || hasMilestone("hu", 41),
        624: () => player.or.contaminants.points.gte(Decimal.pow(2, 7).pow10()) || hasMilestone("hu", 41),
        625: () => player.or.contaminants.points.gte(Decimal.pow(2, 8).pow10()) || hasMilestone("hu", 41),
        626: () => player.or.contaminants.points.gte(Decimal.pow(2, 9).pow10()) || hasMilestone("hu", 41),
        627: () => player.or.contaminants.points.gte(Decimal.pow(2, 10).pow10()) || hasMilestone("hu", 41),
        628: () => player.or.contaminants.points.gte(Decimal.pow(2, 11).pow10()) || hasMilestone("hu", 41),
        629: () => player.or.contaminants.points.gte(Decimal.pow(2, 12).pow10()) || hasMilestone("hu", 41),
        630: () => player.or.contaminants.points.gte(Decimal.pow(2, 13).pow10()) || hasMilestone("hu", 41),
        631: () => player.or.oxygenated_blood.points.gte(1e100),
        632: () => player.or.oxygenated_blood.points.gte(1e150),
        633: () => player.or.oxygenated_blood.points.gte(1e200),
        634: () => player.or.oxygenated_blood.points.gte(1e250),
        635: () => player.or.oxygenated_blood.points.gte(1e300),
        636: () => player.or.oxygenated_blood.points.gte("1e350"),
        637: () => player.or.oxygenated_blood.points.gte("1e400"),
        638: () => player.tokens.tokens2.total.gte(150),
        639: () => player.tokens.tokens2.total.gte(155),
        640: () => player.tokens.tokens2.total.gte(160),
        641: () => player.tokens.tokens2.total.gte(165),
        642: () => player.tokens.tokens2.total.gte(170),
        643: () => player.tokens.tokens2.total.gte(175),
        644: () => player.tokens.tokens2.total.gte(180),
        645: () => player.or.contaminants.points.gte(Decimal.pow(2, 14).pow10()) || hasMilestone("hu", 41),
        646: () => player.or.contaminants.points.gte(Decimal.pow(2, 15).pow10()) || hasMilestone("hu", 41),
        647: () => player.or.contaminants.points.gte(Decimal.pow(2, 16).pow10()) || hasMilestone("hu", 41),
        648: () => player.or.contaminants.points.gte(Decimal.pow(2, 17).pow10()) || hasMilestone("hu", 41),
        649: () => player.or.contaminants.points.gte(Decimal.pow(2, 18).pow10()) || hasMilestone("hu", 41),
        650: () => player.or.contaminants.points.gte(Decimal.pow(2, 19).pow10()) || hasMilestone("hu", 41),
        651: () => player.or.contaminants.points.gte(Decimal.pow(2, 20).pow10()) || hasMilestone("hu", 41),
        652: () => player.tokens.tokens2.total.gte(185),
        653: () => player.tokens.tokens2.total.gte(190),
        654: () => player.tokens.tokens2.total.gte(195),
        655: () => player.tokens.tokens2.total.gte(200),
        656: () => player.tokens.tokens2.total.gte(205),
        657: () => player.tokens.tokens2.total.gte(210),
        658: () => player.tokens.tokens2.total.gte(215),
        659: () => player.or.air.points.gte(Decimal.pow(2, 0).pow10()),
        660: () => player.or.air.points.gte(Decimal.pow(2, 1).pow10()),
        661: () => player.or.air.points.gte(Decimal.pow(2, 2).pow10()),
        662: () => player.or.air.points.gte(Decimal.pow(2, 3).pow10()),
        663: () => player.or.air.points.gte(Decimal.pow(2, 4).pow10()),
        664: () => player.or.air.points.gte(Decimal.pow(2, 5).pow10()),
        665: () => player.or.air.points.gte(Decimal.pow(2, 6).pow10()),
        666: () => player.or.air.points.gte(Decimal.pow(2, 7).pow10()),
        667: () => player.or.air.points.gte(Decimal.pow(2, 8).pow10()),
        668: () => player.or.air.points.gte(Decimal.pow(2, 9).pow10()),
        669: () => player.or.air.points.gte(Decimal.pow(2, 10).pow10()),
        670: () => player.or.air.points.gte(Decimal.pow(2, 11).pow10()),
        671: () => player.or.air.points.gte(Decimal.pow(2, 12).pow10()),
        672: () => player.or.air.points.gte(Decimal.pow(2, 13).pow10()),
        673: () => player.or.contaminants.points.gte(Decimal.pow10(2e6)) || hasMilestone("hu", 41),
        674: () => player.or.contaminants.points.gte(Decimal.pow10(5e6)) || hasMilestone("hu", 41),
        675: () => player.or.contaminants.points.gte(Decimal.pow10(1e7)) || hasMilestone("hu", 41),
        676: () => player.or.contaminants.points.gte(Decimal.pow10(2e7)) || hasMilestone("hu", 41),
        677: () => player.or.contaminants.points.gte(Decimal.pow10(5e7)) || hasMilestone("hu", 41),
        678: () => player.or.contaminants.points.gte(Decimal.pow10(1e8)) || hasMilestone("hu", 41),
        679: () => player.or.contaminants.points.gte(Decimal.pow10(2e8)) || hasMilestone("hu", 41),
        680: () => player.tokens.tokens2.total.gte(220),
        681: () => player.tokens.tokens2.total.gte(230),
        682: () => player.tokens.tokens2.total.gte(240),
        683: () => player.tokens.tokens2.total.gte(250),
        684: () => player.tokens.tokens2.total.gte(260),
        685: () => player.tokens.tokens2.total.gte(270),
        686: () => player.tokens.tokens2.total.gte(280),
        687: () => player.tokens.tokens2.total.gte(290),
        688: () => player.tokens.tokens2.total.gte(300),
        689: () => player.tokens.tokens2.total.gte(310),
        690: () => player.tokens.tokens2.total.gte(320),
        691: () => player.tokens.tokens2.total.gte(330),
        692: () => player.tokens.tokens2.total.gte(340),
        693: () => player.tokens.tokens2.total.gte(350),
        694: () => player.tokens.tokens2.total.gte(360),
        695: () => player.tokens.tokens2.total.gte(370),
        696: () => player.tokens.tokens2.total.gte(380),
        697: () => player.tokens.tokens2.total.gte(390),
        698: () => player.tokens.tokens2.total.gte(400),
        699: () => player.tokens.tokens2.total.gte(410),
        700: () => player.tokens.tokens2.total.gte(420),
        701: () => player.or.energy.points.gte(Decimal.pow(2, 0).pow10()),
        702: () => player.or.energy.points.gte(Decimal.pow(2, 1).pow10()),
        703: () => player.or.energy.points.gte(Decimal.pow(2, 2).pow10()),
        704: () => player.or.energy.points.gte(Decimal.pow(2, 3).pow10()),
        705: () => player.or.energy.points.gte(Decimal.pow(2, 4).pow10()),
        706: () => player.or.energy.points.gte(Decimal.pow(2, 5).pow10()),
        707: () => player.or.energy.points.gte(Decimal.pow(2, 6).pow10()),
        708: () => player.or.energy.points.gte(Decimal.pow(2, 7).pow10()),
        709: () => player.or.energy.points.gte(Decimal.pow(2, 8).pow10()),
        710: () => player.or.energy.points.gte(Decimal.pow(2, 9).pow10()),
        711: () => player.or.energy.points.gte(Decimal.pow(2, 10).pow10()),
        712: () => player.or.energy.points.gte(Decimal.pow(2, 11).pow10()),
        713: () => player.or.energy.points.gte(Decimal.pow(2, 12).pow10()),
        714: () => player.or.energy.points.gte(Decimal.pow(2, 13).pow10()),
        715: () => player.tokens.tokens2.total.gte(440),
        716: () => player.tokens.tokens2.total.gte(460),
        717: () => player.tokens.tokens2.total.gte(480),
        718: () => player.tokens.tokens2.total.gte(500),
        719: () => player.tokens.tokens2.total.gte(520),
        720: () => player.tokens.tokens2.total.gte(540),
        721: () => player.tokens.tokens2.total.gte(560),
        722: () => player.tokens.tokens2.total.gte(580),
        723: () => player.tokens.tokens2.total.gte(600),
        724: () => player.tokens.tokens2.total.gte(620),
        725: () => player.tokens.tokens2.total.gte(640),
        726: () => player.tokens.tokens2.total.gte(660),
        727: () => player.tokens.tokens2.total.gte(680),
        728: () => player.tokens.tokens2.total.gte(700),
        729: () => player.tokens.tokens2.total.gte(720),
        730: () => player.tokens.tokens2.total.gte(740),
        731: () => player.tokens.tokens2.total.gte(760),
        732: () => player.tokens.tokens2.total.gte(780),
        733: () => player.tokens.tokens2.total.gte(800),
        734: () => player.tokens.tokens2.total.gte(820),
        735: () => player.tokens.tokens2.total.gte(840),
        736: () => player.an.points.gte(Decimal.pow(10, 0)),
        737: () => player.an.points.gte(Decimal.pow(10, 1)),
        738: () => player.an.points.gte(Decimal.pow(10, 2)),
        739: () => player.an.points.gte(Decimal.pow(10, 3)),
        740: () => player.an.points.gte(Decimal.pow(10, 4)),
        741: () => player.an.points.gte(Decimal.pow(10, 5)),
        742: () => player.an.points.gte(Decimal.pow(10, 6)),
        743: () => player.an.genes.points.gte(Decimal.pow(2, 0).pow10()),
        744: () => player.an.genes.points.gte(Decimal.pow(2, 1).pow10()),
        745: () => player.an.genes.points.gte(Decimal.pow(2, 2).pow10()),
        746: () => player.an.genes.points.gte(Decimal.pow(2, 3).pow10()),
        747: () => player.an.genes.points.gte(Decimal.pow(2, 4).pow10()),
        748: () => player.an.genes.points.gte(Decimal.pow(2, 5).pow10()),
        749: () => player.an.genes.points.gte(Decimal.pow(2, 6).pow10()),
        750: () => player.an.genes.points.gte(Decimal.pow(2, 7).pow10()),
        751: () => player.an.genes.points.gte(Decimal.pow(2, 8).pow10()),
        752: () => player.an.genes.points.gte(Decimal.pow(2, 9).pow10()),
        753: () => player.an.genes.points.gte(Decimal.pow(2, 10).pow10()),
        754: () => player.an.genes.points.gte(Decimal.pow(2, 11).pow10()),
        755: () => player.an.genes.points.gte(Decimal.pow(2, 12).pow10()),
        756: () => player.an.genes.points.gte(Decimal.pow(2, 13).pow10()),
        757: () => player.an.points.gte(Decimal.pow(10, 8)),
        758: () => player.an.points.gte(Decimal.pow(10, 10)),
        759: () => player.an.points.gte(Decimal.pow(10, 12)),
        760: () => player.an.points.gte(Decimal.pow(10, 14)),
        761: () => player.an.points.gte(Decimal.pow(10, 16)),
        762: () => player.an.points.gte(Decimal.pow(10, 18)),
        763: () => player.an.points.gte(Decimal.pow(10, 20)),
        764: () => player.or.contaminants.points.gte(Decimal.pow10(5e8))  || hasMilestone("hu", 41),
        765: () => player.or.contaminants.points.gte(Decimal.pow10(1e9))  || hasMilestone("hu", 41),
        766: () => player.or.contaminants.points.gte(Decimal.pow10(2e9))  || hasMilestone("hu", 41),
        767: () => player.or.contaminants.points.gte(Decimal.pow10(5e9))  || hasMilestone("hu", 41),
        768: () => player.or.contaminants.points.gte(Decimal.pow10(1e10)) || hasMilestone("hu", 41),
        769: () => player.or.contaminants.points.gte(Decimal.pow10(2e10)) || hasMilestone("hu", 41),
        770: () => player.or.contaminants.points.gte(Decimal.pow10(5e10)) || hasMilestone("hu", 41),
        771: () => player.tokens.tokens2.total.gte(900),
        772: () => player.tokens.tokens2.total.gte(950),
        773: () => player.tokens.tokens2.total.gte(1000),
        774: () => player.tokens.tokens2.total.gte(1050),
        775: () => player.tokens.tokens2.total.gte(1100),
        776: () => player.tokens.tokens2.total.gte(1150),
        777: () => player.tokens.tokens2.total.gte(1200),
        778: () => player.tokens.tokens2.total.gte(1300),
        779: () => player.tokens.tokens2.total.gte(1400),
        780: () => player.tokens.tokens2.total.gte(1500),
        781: () => player.tokens.tokens2.total.gte(1600),
        782: () => player.tokens.tokens2.total.gte(1700),
        783: () => player.tokens.tokens2.total.gte(1800),
        784: () => player.tokens.tokens2.total.gte(1900),
        785: () => player.tokens.tokens2.total.gte(2000),
        786: () => player.tokens.tokens2.total.gte(2200),
        787: () => player.tokens.tokens2.total.gte(2400),
        788: () => player.tokens.tokens2.total.gte(2600),
        789: () => player.tokens.tokens2.total.gte(2800),
        790: () => player.tokens.tokens2.total.gte(3000),
        791: () => player.tokens.tokens2.total.gte(3200),
        792: () => player.tokens.tokens2.total.gte(3400),
        793: () => player.tokens.tokens2.total.gte(3600),
        794: () => player.tokens.tokens2.total.gte(3800),
        795: () => player.tokens.tokens2.total.gte(4000),
        796: () => player.tokens.tokens2.total.gte(4200),
        797: () => player.tokens.tokens2.total.gte(4400),
        798: () => player.tokens.tokens2.total.gte(4600),
        799: () => player.ch.points.gte(Math.pow(1, 2)),
        800: () => player.ch.points.gte(Math.pow(2, 2)),
        801: () => player.ch.points.gte(Math.pow(3, 2)),
        802: () => player.ch.points.gte(Math.pow(4, 2)),
        803: () => player.ch.points.gte(Math.pow(5, 2)),
        804: () => player.ch.points.gte(Math.pow(6, 2)),
        805: () => player.ch.points.gte(Math.pow(7, 2)),
        806: () => player.ch.points.gte(Math.pow(8, 2)),
        807: () => player.ch.points.gte(Math.pow(9, 2)),
        808: () => player.ch.points.gte(Math.pow(10, 2)),
        809: () => player.ch.points.gte(Math.pow(11, 2)),
        810: () => player.ch.points.gte(Math.pow(12, 2)),
        811: () => player.ch.points.gte(Math.pow(13, 2)),
        812: () => player.ch.points.gte(Math.pow(14, 2)),
        813: () => player.or.contaminants.points.gte(Decimal.pow10(1e11)) || hasMilestone("hu", 41),
        814: () => player.or.contaminants.points.gte(Decimal.pow10(2e11)) || hasMilestone("hu", 41),
        815: () => player.or.contaminants.points.gte(Decimal.pow10(5e11)) || hasMilestone("hu", 41),
        816: () => player.or.contaminants.points.gte(Decimal.pow10(1e12)) || hasMilestone("hu", 41),
        817: () => player.or.contaminants.points.gte(Decimal.pow10(2e12)) || hasMilestone("hu", 41),
        818: () => player.or.contaminants.points.gte(Decimal.pow10(5e12)) || hasMilestone("hu", 41),
        819: () => player.or.contaminants.points.gte(Decimal.pow10(1e13)) || hasMilestone("hu", 41),
        820: () => player.or.contaminants.points.gte(Decimal.pow10(2e13)) || hasMilestone("hu", 41),
        821: () => player.or.contaminants.points.gte(Decimal.pow10(5e13)) || hasMilestone("hu", 41),
        822: () => player.or.contaminants.points.gte(Decimal.pow10(1e14)) || hasMilestone("hu", 41),
        823: () => player.or.contaminants.points.gte(Decimal.pow10(2e14)) || hasMilestone("hu", 41),
        824: () => player.or.contaminants.points.gte(Decimal.pow10(5e14)) || hasMilestone("hu", 41),
        825: () => player.or.contaminants.points.gte(Decimal.pow10(1e15)) || hasMilestone("hu", 41),
        826: () => player.or.contaminants.points.gte(Decimal.pow10(2e15)) || hasMilestone("hu", 41),
        827: () => player.tokens.tokens2.total.gte(5000),
        828: () => player.tokens.tokens2.total.gte(5500),
        829: () => player.tokens.tokens2.total.gte(6000),
        830: () => player.tokens.tokens2.total.gte(6500),
        831: () => player.tokens.tokens2.total.gte(7000),
        832: () => player.tokens.tokens2.total.gte(7500),
        833: () => player.tokens.tokens2.total.gte(8000),
        834: () => player.nu.points.gte(1),
        835: () => player.nu.points.gte(2),
        836: () => player.nu.points.gte(3),
        837: () => player.nu.points.gte(4),
        838: () => player.nu.points.gte(5),
        839: () => player.nu.points.gte(6),
        840: () => player.nu.points.gte(7),
        841: () => player.tokens.tokens2.total.gte(9e3),
        842: () => player.tokens.tokens2.total.gte(10e3),
        843: () => player.tokens.tokens2.total.gte(11e3),
        844: () => player.tokens.tokens2.total.gte(12e3),
        845: () => player.tokens.tokens2.total.gte(13e3),
        846: () => player.tokens.tokens2.total.gte(14e3),
        847: () => player.tokens.tokens2.total.gte(15e3),
        848: () => player.ch.points.gte(Math.pow(15, 2)),
        849: () => player.ch.points.gte(Math.pow(16, 2)),
        850: () => player.ch.points.gte(Math.pow(17, 2)),
        851: () => player.ch.points.gte(Math.pow(18, 2)),
        852: () => player.ch.points.gte(Math.pow(19, 2)),
        853: () => player.ch.points.gte(Math.pow(20, 2)),
        854: () => player.ch.points.gte(Math.pow(21, 2)),
        855: () => player.nu.points.gte(8),
        856: () => player.nu.points.gte(9),
        857: () => player.nu.points.gte(10),
        858: () => player.nu.points.gte(11),
        859: () => player.nu.points.gte(12),
        860: () => player.nu.points.gte(13),
        861: () => player.nu.points.gte(14),
        862: () => player.ch.points.gte(Math.pow(22, 2)),
        863: () => player.ch.points.gte(Math.pow(23, 2)),
        864: () => player.ch.points.gte(Math.pow(24, 2)),
        865: () => player.ch.points.gte(Math.pow(25, 2)),
        866: () => player.ch.points.gte(Math.pow(26, 2)),
        867: () => player.ch.points.gte(Math.pow(27, 2)),
        868: () => player.ch.points.gte(Math.pow(28, 2)),
        869: () => player.nu.points.gte(15),
        870: () => player.nu.points.gte(16),
        871: () => player.nu.points.gte(17),
        872: () => player.nu.points.gte(18),
        873: () => player.nu.points.gte(19),
        874: () => player.nu.points.gte(20),
        875: () => player.nu.points.gte(21),
        876: () => player.nu.points.gte(22),
        877: () => player.nu.points.gte(24),
        878: () => player.nu.points.gte(26),
        879: () => player.nu.points.gte(28),
        880: () => player.nu.points.gte(30),
        881: () => player.nu.points.gte(32),
        882: () => player.nu.points.gte(34),
        883: () => player.or.contaminants.points.gte(Decimal.pow10(5e15)) || hasMilestone("hu", 41),
        884: () => player.or.contaminants.points.gte(Decimal.pow10(1e16)) || hasMilestone("hu", 41),
        885: () => player.or.contaminants.points.gte(Decimal.pow10(2e16)) || hasMilestone("hu", 41),
        886: () => player.or.contaminants.points.gte(Decimal.pow10(5e16)) || hasMilestone("hu", 41),
        887: () => player.or.contaminants.points.gte(Decimal.pow10(1e17)) || hasMilestone("hu", 41),
        888: () => player.or.contaminants.points.gte(Decimal.pow10(2e17)) || hasMilestone("hu", 41),
        889: () => player.or.contaminants.points.gte(Decimal.pow10(5e17)) || hasMilestone("hu", 41),
        890: () => player.nu.points.gte(36),
        891: () => player.nu.points.gte(39),
        892: () => player.nu.points.gte(42),
        893: () => player.nu.points.gte(45),
        894: () => player.nu.points.gte(48),
        895: () => player.nu.points.gte(51),
        896: () => player.nu.points.gte(54),
        897: () => player.nu.points.gte(58),
        898: () => player.nu.points.gte(62),
        899: () => player.nu.points.gte(66),
        900: () => player.nu.points.gte(70),
        901: () => player.nu.points.gte(74),
        902: () => player.nu.points.gte(78),
        903: () => player.nu.points.gte(82),
        904: () => player.sp.times >= 1,
        905: () => player.sp.times >= 2,
        906: () => player.sp.times >= 3,
        907: () => player.sp.times >= 4,
        908: () => player.sp.times >= 5,
        909: () => player.sp.times >= 6,
        910: () => player.sp.times >= 7,
        911: () => player.sp.points.gte(1e1),
        912: () => player.sp.points.gte(1e3),
        913: () => player.sp.points.gte(1e6),
        914: () => player.sp.points.gte(1e10),
        915: () => player.sp.points.gte(1e15),
        916: () => player.sp.points.gte(1e21),
        917: () => player.sp.points.gte(1e28),
        918: () => player.sp.points.gte(1e36),
        919: () => player.sp.points.gte(1e45),
        920: () => player.sp.points.gte(1e55),
        921: () => player.sp.points.gte(1e66),
        922: () => player.sp.points.gte(1e78),
        923: () => player.sp.points.gte(1e91),
        924: () => player.sp.points.gte(1e105),
        925: () => player.or.contaminants.points.gte(Decimal.pow10(1e18)) || hasMilestone("hu", 41),
        926: () => player.or.contaminants.points.gte(Decimal.pow10(2e18)) || hasMilestone("hu", 41),
        927: () => player.or.contaminants.points.gte(Decimal.pow10(5e18)) || hasMilestone("hu", 41),
        928: () => player.or.contaminants.points.gte(Decimal.pow10(1e19)) || hasMilestone("hu", 41),
        929: () => player.or.contaminants.points.gte(Decimal.pow10(2e19)) || hasMilestone("hu", 41),
        930: () => player.or.contaminants.points.gte(Decimal.pow10(5e19)) || hasMilestone("hu", 41),
        931: () => player.or.contaminants.points.gte(Decimal.pow10(1e20)) || hasMilestone("hu", 41),
        932: () => player.sp.points.gte(1e120),
        933: () => player.sp.points.gte(1e136),
        934: () => player.sp.points.gte(1e153),
        935: () => player.sp.points.gte(1e171),
        936: () => player.sp.points.gte(1e190),
        937: () => player.sp.points.gte(1e210),
        938: () => player.sp.points.gte(1e231),
        939: () => player.or.contaminants.points.gte(Decimal.pow10(2e20)) || hasMilestone("hu", 41),
        940: () => player.or.contaminants.points.gte(Decimal.pow10(5e20)) || hasMilestone("hu", 41),
        941: () => player.or.contaminants.points.gte(Decimal.pow10(1e21)) || hasMilestone("hu", 41),
        942: () => player.or.contaminants.points.gte(Decimal.pow10(2e21)) || hasMilestone("hu", 41),
        943: () => player.or.contaminants.points.gte(Decimal.pow10(5e21)) || hasMilestone("hu", 41),
        944: () => player.or.contaminants.points.gte(Decimal.pow10(1e22)) || hasMilestone("hu", 41),
        945: () => player.or.contaminants.points.gte(Decimal.pow10(2e22)) || hasMilestone("hu", 41),
        946: () => player.sp.points.gte(1e253),
        947: () => player.sp.points.gte(1e276),
        948: () => player.sp.points.gte(1e300),
        949: () => player.sp.points.gte("1e325"),
        950: () => player.sp.points.gte("1e351"),
        951: () => player.sp.points.gte("1e378"),
        952: () => player.sp.points.gte("1e406"),
        953: () => player.or.contaminants.points.gte(Decimal.pow10(5e22)) || hasMilestone("hu", 41),
        954: () => player.or.contaminants.points.gte(Decimal.pow10(1e23)) || hasMilestone("hu", 41),
        955: () => player.or.contaminants.points.gte(Decimal.pow10(2e23)) || hasMilestone("hu", 41),
        956: () => player.or.contaminants.points.gte(Decimal.pow10(5e23)) || hasMilestone("hu", 41),
        957: () => player.or.contaminants.points.gte(Decimal.pow10(1e24)) || hasMilestone("hu", 41),
        958: () => player.or.contaminants.points.gte(Decimal.pow10(2e24)) || hasMilestone("hu", 41),
        959: () => player.or.contaminants.points.gte(Decimal.pow10(5e24)) || hasMilestone("hu", 41),
        960: () => player.sp.points.gte("1e512"),
        961: () => player.sp.points.gte("1e729"),
        962: () => player.sp.points.gte("1e1000"),
        963: () => player.sp.points.gte("1e1331"),
        964: () => player.sp.points.gte("1e1728"),
        965: () => player.sp.points.gte("1e2197"),
        966: () => player.sp.points.gte("1e2744"),
        967: () => player.or.contaminants.points.gte(Decimal.pow10(1e25)) || hasMilestone("hu", 41),
        968: () => player.or.contaminants.points.gte(Decimal.pow10(2e25)) || hasMilestone("hu", 41),
        969: () => player.or.contaminants.points.gte(Decimal.pow10(5e25)) || hasMilestone("hu", 41),
        970: () => player.or.contaminants.points.gte(Decimal.pow10(1e26)) || hasMilestone("hu", 41),
        971: () => player.or.contaminants.points.gte(Decimal.pow10(2e26)) || hasMilestone("hu", 41),
        972: () => player.or.contaminants.points.gte(Decimal.pow10(5e26)) || hasMilestone("hu", 41),
        973: () => player.or.contaminants.points.gte(Decimal.pow10(1e27)) || hasMilestone("hu", 41),
        974: () => player.or.contaminants.points.gte(Decimal.pow10(2e27)) || hasMilestone("hu", 41),
        975: () => player.or.contaminants.points.gte(Decimal.pow10(5e27)) || hasMilestone("hu", 41),
        976: () => player.or.contaminants.points.gte(Decimal.pow10(1e28)) || hasMilestone("hu", 41),
        977: () => player.or.contaminants.points.gte(Decimal.pow10(2e28)) || hasMilestone("hu", 41),
        978: () => player.or.contaminants.points.gte(Decimal.pow10(5e28)) || hasMilestone("hu", 41),
        979: () => player.or.contaminants.points.gte(Decimal.pow10(1e29)) || hasMilestone("hu", 41),
        980: () => player.or.contaminants.points.gte(Decimal.pow10(2e29)) || hasMilestone("hu", 41),
        981: () => player.e.points.gte(1),
        982: () => player.e.points.gte(6),
        983: () => player.e.points.gte(120),
        984: () => player.e.points.gte(5040),
        985: () => player.e.points.gte(362880),
        986: () => player.e.points.gte(39916800),
        987: () => player.e.points.gte(6227020800),
        988: () => player.e.challenges[11] >= 1,
        989: () => player.e.challenges[11] >= 2,
        990: () => player.e.challenges[11] >= 3,
        991: () => player.e.challenges[11] >= 4,
        992: () => player.e.challenges[11] >= 5,
        993: () => player.e.challenges[11] >= 6,
        994: () => player.e.challenges[11] >= 7,
        995: () => player.or.contaminants.points.gte(Decimal.pow10(5e29)) || hasMilestone("hu", 41),
        996: () => player.or.contaminants.points.gte(Decimal.pow10(1e30)) || hasMilestone("hu", 41),
        997: () => player.or.contaminants.points.gte(Decimal.pow10(3e30)) || hasMilestone("hu", 41),
        998: () => player.or.contaminants.points.gte(Decimal.pow10(1e31)) || hasMilestone("hu", 41),
        999: () => player.or.contaminants.points.gte(Decimal.pow10(3e31)) || hasMilestone("hu", 41),
        1000:() => player.or.contaminants.points.gte(Decimal.pow10(1e32)) || hasMilestone("hu", 41),
        1001:() => player.or.contaminants.points.gte(Decimal.pow10(3e32)) || hasMilestone("hu", 41),
        1002:() => player.e.challenges[11] >= 8,
        1003:() => player.e.challenges[11] >= 10,
        1004:() => player.e.challenges[11] >= 12,
        1005:() => player.e.challenges[11] >= 14,
        1006:() => player.e.challenges[11] >= 16,
        1007:() => player.e.challenges[11] >= 18,
        1008:() => player.e.challenges[11] >= 20,
        1009:() => player.e.challenges[11] >= 23,
        1010:() => player.e.challenges[11] >= 26,
        1011:() => player.e.challenges[11] >= 29,
        1012:() => player.e.challenges[11] >= 32,
        1013:() => player.e.challenges[11] >= 35,
        1014:() => player.e.challenges[11] >= 38,
        1015:() => player.e.challenges[11] >= 41,
        1016:() => player.e.points.gte(1e16),
        1017:() => player.e.points.gte(1e25),
        1018:() => player.e.points.gte(1e36),
        1019:() => player.e.points.gte(1e49),
        1020:() => player.e.points.gte(1e64),
        1021:() => player.e.points.gte(1e81),
        1022:() => player.e.points.gte(1e100),
        1023:() => player.e.challenges[11] >= 45,
        1024:() => player.e.challenges[11] >= 50,
        1025:() => player.e.challenges[11] >= 55,
        1026:() => player.e.challenges[11] >= 60,
        1027:() => player.e.challenges[11] >= 65,
        1028:() => player.e.challenges[11] >= 70,
        1029:() => player.e.challenges[11] >= 75,
        1030:() => player.or.contaminants.points.gte(Decimal.pow10(1e33)) || hasMilestone("hu", 41),
        1031:() => player.or.contaminants.points.gte(Decimal.pow10(3e33)) || hasMilestone("hu", 41),
        1032:() => player.or.contaminants.points.gte(Decimal.pow10(1e34)) || hasMilestone("hu", 41),
        1033:() => player.or.contaminants.points.gte(Decimal.pow10(3e34)) || hasMilestone("hu", 41),
        1034:() => player.or.contaminants.points.gte(Decimal.pow10(1e35)) || hasMilestone("hu", 41),
        1035:() => player.or.contaminants.points.gte(Decimal.pow10(3e35)) || hasMilestone("hu", 41),
        1036:() => player.or.contaminants.points.gte(Decimal.pow10(1e36)) || hasMilestone("hu", 41),
        1037:() => layerChallengeCompletions("e") >= 80,
        1038:() => layerChallengeCompletions("e") >= 90,
        1039:() => layerChallengeCompletions("e") >= 100,
        1040:() => layerChallengeCompletions("e") >= 110,
        1041:() => layerChallengeCompletions("e") >= 120,
        1042:() => layerChallengeCompletions("e") >= 130,
        1043:() => layerChallengeCompletions("e") >= 140,
        1044:() => player.or.contaminants.points.gte(Decimal.pow10(3e36)) || hasMilestone("hu", 41),
        1045:() => player.or.contaminants.points.gte(Decimal.pow10(1e37)) || hasMilestone("hu", 41),
        1046:() => player.or.contaminants.points.gte(Decimal.pow10(3e37)) || hasMilestone("hu", 41),
        1047:() => player.or.contaminants.points.gte(Decimal.pow10(1e38)) || hasMilestone("hu", 41),
        1048:() => player.or.contaminants.points.gte(Decimal.pow10(3e38)) || hasMilestone("hu", 41),
        1049:() => player.or.contaminants.points.gte(Decimal.pow10(1e39)) || hasMilestone("hu", 41),
        1050:() => player.or.contaminants.points.gte(Decimal.pow10(3e39)) || hasMilestone("hu", 41),
        1051:() => layerChallengeCompletions("e") >= 150,
        1052:() => layerChallengeCompletions("e") >= 160,
        1053:() => layerChallengeCompletions("e") >= 170,
        1054:() => layerChallengeCompletions("e") >= 180,
        1055:() => layerChallengeCompletions("e") >= 190,
        1056:() => layerChallengeCompletions("e") >= 200,
        1057:() => layerChallengeCompletions("e") >= 210,
        1058:() => player.or.contaminants.points.gte(Decimal.pow10(1e40)) || hasMilestone("hu", 41),
        1059:() => player.or.contaminants.points.gte(Decimal.pow10(3e40)) || hasMilestone("hu", 41),
        1060:() => player.or.contaminants.points.gte(Decimal.pow10(1e41)) || hasMilestone("hu", 41),
        1061:() => player.or.contaminants.points.gte(Decimal.pow10(3e41)) || hasMilestone("hu", 41),
        1062:() => player.or.contaminants.points.gte(Decimal.pow10(1e42)) || hasMilestone("hu", 41),
        1063:() => player.or.contaminants.points.gte(Decimal.pow10(3e42)) || hasMilestone("hu", 41),
        1064:() => player.or.contaminants.points.gte(Decimal.pow10(1e43)) || hasMilestone("hu", 41),
        1065:() => layerChallengeCompletions("e") >= 220,
        1066:() => layerChallengeCompletions("e") >= 230,
        1067:() => layerChallengeCompletions("e") >= 240,
        1068:() => layerChallengeCompletions("e") >= 250,
        1069:() => layerChallengeCompletions("e") >= 260,
        1070:() => layerChallengeCompletions("e") >= 270,
        1071:() => layerChallengeCompletions("e") >= 275,
        1072:() => player.or.contaminants.points.gte(Decimal.pow10(3e43)) || hasMilestone("hu", 41),
        1073:() => player.or.contaminants.points.gte(Decimal.pow10(1e44)) || hasMilestone("hu", 41),
        1074:() => player.or.contaminants.points.gte(Decimal.pow10(3e44)) || hasMilestone("hu", 41),
        1075:() => player.or.contaminants.points.gte(Decimal.pow10(1e45)) || hasMilestone("hu", 41),
        1076:() => player.or.contaminants.points.gte(Decimal.pow10(3e45)) || hasMilestone("hu", 41),
        1077:() => player.or.contaminants.points.gte(Decimal.pow10(1e46)) || hasMilestone("hu", 41),
        1078:() => player.or.contaminants.points.gte(Decimal.pow10(3e46)) || hasMilestone("hu", 41),
        1079:() => player.pl.upgrades.length >= 1,
        1080:() => player.pl.upgrades.length >= 2,
        1081:() => player.pl.upgrades.length >= 3,
        1082:() => player.pl.upgrades.length >= 4,
        1083:() => player.pl.upgrades.length >= 5,
        1084:() => player.pl.upgrades.length >= 6,
        1085:() => player.pl.upgrades.length >= 7,
        1086:() => player.pl.upgrades.length >= 8,
        1087:() => player.pl.upgrades.length >= 9,
        1088:() => player.pl.upgrades.length >= 10,
        1089:() => player.pl.upgrades.length >= 11,
        1090:() => player.pl.upgrades.length >= 12,
        1091:() => player.pl.upgrades.length >= 13,
        1092:() => player.pl.upgrades.length >= 14,
        1093:() => player.or.contaminants.points.gte(Decimal.pow10(1e47)) || hasMilestone("hu", 41),
        1094:() => player.or.contaminants.points.gte(Decimal.pow10(1e48)) || hasMilestone("hu", 41),
        1095:() => player.or.contaminants.points.gte(Decimal.pow10(1e49)) || hasMilestone("hu", 41),
        1096:() => player.or.contaminants.points.gte(Decimal.pow10(1e50)) || hasMilestone("hu", 41),
        1097:() => player.or.contaminants.points.gte(Decimal.pow10(1e51)) || hasMilestone("hu", 41),
        1098:() => player.or.contaminants.points.gte(Decimal.pow10(1e52)) || hasMilestone("hu", 41),
        1099:() => player.or.contaminants.points.gte(Decimal.pow10(1e53)) || hasMilestone("hu", 41),
        1100:() => player.or.contaminants.points.gte(Decimal.pow10(1e54)) || hasMilestone("hu", 41),
        1101:() => player.or.contaminants.points.gte(Decimal.pow10(1e55)) || hasMilestone("hu", 41),
        1102:() => player.or.contaminants.points.gte(Decimal.pow10(1e56)) || hasMilestone("hu", 41),
        1103:() => player.or.contaminants.points.gte(Decimal.pow10(1e57)) || hasMilestone("hu", 41),
        1104:() => player.or.contaminants.points.gte(Decimal.pow10(1e58)) || hasMilestone("hu", 41),
        1105:() => player.or.contaminants.points.gte(Decimal.pow10(1e59)) || hasMilestone("hu", 41),
        1106:() => player.or.contaminants.points.gte(Decimal.pow10(1e60)) || hasMilestone("hu", 41),
        1107:() => player.pl.upgrades.length >= 15,
        1108:() => player.pl.upgrades.length >= 16,
        1109:() => player.pl.upgrades.length >= 17,
        1110:() => player.pl.upgrades.length >= 18,
        1111:() => player.pl.upgrades.length >= 19,
        1112:() => player.pl.upgrades.length >= 20,
        1113:() => player.pl.points.gte(250),
        1114:() => player.or.contaminants.points.gte(Decimal.pow10(1e61)) || hasMilestone("hu", 41),
        1115:() => player.or.contaminants.points.gte(Decimal.pow10(1e62)) || hasMilestone("hu", 41),
        1116:() => player.or.contaminants.points.gte(Decimal.pow10(1e63)) || hasMilestone("hu", 41),
        1117:() => player.or.contaminants.points.gte(Decimal.pow10(1e64)) || hasMilestone("hu", 41),
        1118:() => player.or.contaminants.points.gte(Decimal.pow10(1e65)) || hasMilestone("hu", 41),
        1119:() => player.or.contaminants.points.gte(Decimal.pow10(1e66)) || hasMilestone("hu", 41),
        1120:() => player.or.contaminants.points.gte(Decimal.pow10(1e67)) || hasMilestone("hu", 41),
        1121:() => player.hu.thoughts.points.gte(1),
        1122:() => player.hu.thoughts.points.gte(1e2),
        1123:() => player.hu.thoughts.points.gte(1e4),
        1124:() => player.hu.thoughts.points.gte(1e6),
        1125:() => player.hu.times >= 1,
        1126:() => player.hu.times >= 10,
        1127:() => player.hu.times >= 75,
        1128:() => player.or.contaminants.points.gte(Decimal.pow10(1e68)) || hasMilestone("hu", 41),
        1129:() => player.or.contaminants.points.gte(Decimal.pow10(1e69)) || hasMilestone("hu", 41),
        1130:() => player.or.contaminants.points.gte(Decimal.pow10(1e70)) || hasMilestone("hu", 41),
        1131:() => player.or.contaminants.points.gte(Decimal.pow10(1e71)) || hasMilestone("hu", 41),
        1132:() => player.or.contaminants.points.gte(Decimal.pow10(1e72)) || hasMilestone("hu", 41),
        1133:() => player.or.contaminants.points.gte(Decimal.pow10(1e73)) || hasMilestone("hu", 41),
        1134:() => player.or.contaminants.points.gte(Decimal.pow10(1e74)) || hasMilestone("hu", 41),
        1135:() => layerChallengeCompletions("e") >= 280,
        1136:() => layerChallengeCompletions("e") >= 290,
        1137:() => layerChallengeCompletions("e") >= 300,
        1138:() => layerChallengeCompletions("e") >= 310,
        1139:() => layerChallengeCompletions("e") >= 315,
        1140:() => layerChallengeCompletions("e") >= 320,
        1141:() => layerChallengeCompletions("e") >= 325,
        1142:() => player.or.contaminants.points.gte(Decimal.pow10(1e75))  || hasMilestone("hu", 41),
        1143:() => player.or.contaminants.points.gte(Decimal.pow10(1e76))  || hasMilestone("hu", 41),
        1144:() => player.or.contaminants.points.gte(Decimal.pow10(1e77))  || hasMilestone("hu", 41),
        1145:() => player.or.contaminants.points.gte(Decimal.pow10(1e78))  || hasMilestone("hu", 41),
        1146:() => player.or.contaminants.points.gte(Decimal.pow10(1e79))  || hasMilestone("hu", 41),
        1147:() => player.or.contaminants.points.gte(Decimal.pow10(1e80))  || hasMilestone("hu", 41),
        1148:() => player.or.contaminants.points.gte(Decimal.pow10(1e81))  || hasMilestone("hu", 41),
        1149:() => player.or.contaminants.points.gte(Decimal.pow10(1e85))  || hasMilestone("hu", 41),
        1150:() => player.or.contaminants.points.gte(Decimal.pow10(1e90))  || hasMilestone("hu", 41),
        1151:() => player.or.contaminants.points.gte(Decimal.pow10(1e95))  || hasMilestone("hu", 41),
        1152:() => player.or.contaminants.points.gte(Decimal.pow10(1e100)) || hasMilestone("hu", 41),
        1153:() => player.or.contaminants.points.gte(Decimal.pow10(1e105)) || hasMilestone("hu", 41),
        1154:() => player.or.contaminants.points.gte(Decimal.pow10(1e110)) || hasMilestone("hu", 41),
        1155:() => player.or.contaminants.points.gte(Decimal.pow10(1e115)) || hasMilestone("hu", 41),
        1156:() => player.or.contaminants.points.gte(Decimal.pow10(1e120)) || hasMilestone("hu", 41),
        1157:() => player.or.contaminants.points.gte(Decimal.pow10(1e125)) || hasMilestone("hu", 41),
        1158:() => player.or.contaminants.points.gte(Decimal.pow10(1e130)) || hasMilestone("hu", 41),
        1159:() => player.or.contaminants.points.gte(Decimal.pow10(1e135)) || hasMilestone("hu", 41),
        1160:() => player.or.contaminants.points.gte(Decimal.pow10(1e140)) || hasMilestone("hu", 41),
        1161:() => player.or.contaminants.points.gte(Decimal.pow10(1e145)) || hasMilestone("hu", 41),
        1162:() => player.or.contaminants.points.gte(Decimal.pow10(1e150)) || hasMilestone("hu", 41),
        1163:() => player.hu.upgrades.length >= 5,
        1164:() => player.hu.upgrades.length >= 10,
        1165:() => player.hu.upgrades.length >= 15,
        1166:() => player.hu.upgrades.length >= 20,
        1167:() => player.hu.upgrades.length >= 25,
        1168:() => player.hu.upgrades.length >= 30,
        1169:() => player.hu.upgrades.length >= 35,
        1170:() => player.hu.buyables[11].gte(1**4),
        1171:() => player.hu.buyables[11].gte(2**4),
        1172:() => player.hu.buyables[11].gte(3**4),
        1173:() => player.hu.buyables[11].gte(4**4),
        1174:() => player.hu.buyables[11].gte(5**4),
        1175:() => player.hu.buyables[11].gte(6**4),
        1176:() => player.hu.buyables[11].gte(7**4),
        1177:() => player.hu.milestones.length >= 7,
        1178:() => player.hu.milestones.length >= 14,
        1179:() => player.hu.milestones.length >= 21,
        1180:() => player.hu.milestones.length >= 28,
        1181:() => player.hu.milestones.length >= 35,
        1182:() => player.hu.milestones.length >= 42,
        1183:() => player.hu.milestones.length >= 49,
        1184:() => player.hu.buyables[12].gte(1**4),
        1185:() => player.hu.buyables[12].gte(2**4),
        1186:() => player.hu.buyables[12].gte(3**4),
        1187:() => player.hu.buyables[12].gte(4**4),
        1188:() => player.hu.buyables[12].gte(5**4),
        1189:() => player.hu.buyables[12].gte(6**4),
        1190:() => player.hu.buyables[12].gte(7**4),
        1191:() => player.hu.buyables[13].gte(1**4),
        1192:() => player.hu.buyables[13].gte(2**4),
        1193:() => player.hu.buyables[13].gte(3**4),
        1194:() => player.hu.buyables[13].gte(4**4),
        1195:() => player.hu.buyables[13].gte(5**4),
        1196:() => player.hu.buyables[13].gte(6**4),
        1197:() => player.hu.buyables[13].gte(7**4),
        1198:() => player.hu.milestones.length >= 56,
        1199:() => player.hu.milestones.length >= 63,
        1200:() => player.hu.milestones.length >= 70,
        1201:() => player.hu.milestones.length >= 77,
        1202:() => player.hu.milestones.length >= 84,
        1203:() => player.hu.milestones.length >= 91,
        1204:() => player.hu.milestones.length >= 98,
        1205:() => player.hu.buyables[21].gte(1**4),
        1206:() => player.hu.buyables[21].gte(2**4),
        1207:() => player.hu.buyables[21].gte(3**4),
        1208:() => player.hu.buyables[21].gte(4**4),
        1209:() => player.hu.buyables[21].gte(5**4),
        1210:() => player.hu.buyables[21].gte(6**4),
        1211:() => player.hu.buyables[21].gte(7**4),
        1212:() => player.hu.buyables[22].gte(1**4),
        1213:() => player.hu.buyables[22].gte(2**4),
        1214:() => player.hu.buyables[22].gte(3**4),
        1215:() => player.hu.buyables[22].gte(4**4),
        1216:() => player.hu.buyables[22].gte(5**4),
        1217:() => player.hu.buyables[22].gte(6**4),
        1218:() => player.hu.buyables[22].gte(7**4),
        1219:() => player.hu.buyables[23].gte(1**4),
        1220:() => player.hu.buyables[23].gte(2**4),
        1221:() => player.hu.buyables[23].gte(3**4),
        1222:() => player.hu.buyables[23].gte(4**4),
        1223:() => player.hu.buyables[23].gte(5**4),
        1224:() => player.hu.buyables[23].gte(6**4),
        1225:() => player.hu.buyables[23].gte(7**4),
        1226:() => player.hu.buyables[31].gte(1**4),
        1227:() => player.hu.buyables[31].gte(2**4),
        1228:() => player.hu.buyables[31].gte(3**4),
        1229:() => player.hu.buyables[31].gte(4**4),
        1230:() => player.hu.buyables[31].gte(5**4),
        1231:() => player.hu.buyables[31].gte(6**4),
        1232:() => player.hu.buyables[31].gte(7**4),
        1233:() => player.hu.buyables[32].gte(1**4),
        1234:() => player.hu.buyables[32].gte(2**4),
        1235:() => player.hu.buyables[32].gte(3**4),
        1236:() => player.hu.buyables[32].gte(4**4),
        1237:() => player.hu.buyables[32].gte(5**4),
        1238:() => player.hu.buyables[32].gte(6**4),
        1239:() => player.hu.buyables[32].gte(7**4),
        1240:() => player.hu.buyables[33].gte(1**4),
        1241:() => player.hu.buyables[33].gte(2**4),
        1242:() => player.hu.buyables[33].gte(3**4),
        1243:() => player.hu.buyables[33].gte(4**4),
        1244:() => player.hu.buyables[33].gte(5**4),
        1245:() => player.hu.buyables[33].gte(6**4),
        1246:() => player.hu.buyables[33].gte(7**4),

        1247:() => player.r.times >= 1,
        1248:() => player.r.times >= 4,
        1249:() => player.r.times >= 9,
        1250:() => player.r.times >= 16,
        1251:() => player.r.times >= 25,
        1252:() => player.r.times >= 36,
        1253:() => player.r.times >= 49,
        1254:() => player.hu.buyables[11].gte(8**4),
        1255:() => player.hu.buyables[11].gte(9**4),
        1256:() => player.hu.buyables[11].gte(10**4),
        1257:() => player.hu.buyables[11].gte(11**4),
        1258:() => player.hu.buyables[11].gte(12**4),
        1259:() => player.hu.buyables[11].gte(13**4),
        1260:() => player.hu.buyables[11].gte(14**4),
        1261:() => player.hu.buyables[12].gte(8**4),
        1262:() => player.hu.buyables[12].gte(9**4),
        1263:() => player.hu.buyables[12].gte(10**4),
        1264:() => player.hu.buyables[12].gte(11**4),
        1265:() => player.hu.buyables[12].gte(12**4),
        1266:() => player.hu.buyables[12].gte(13**4),
        1267:() => player.hu.buyables[12].gte(14**4),
        1268:() => player.hu.buyables[13].gte(8**4),
        1269:() => player.hu.buyables[13].gte(9**4),
        1270:() => player.hu.buyables[13].gte(10**4),
        1271:() => player.hu.buyables[13].gte(11**4),
        1272:() => player.hu.buyables[13].gte(12**4),
        1273:() => player.hu.buyables[13].gte(13**4),
        1274:() => player.hu.buyables[13].gte(14**4),
        1275:() => player.hu.buyables[21].gte(8**4),
        1276:() => player.hu.buyables[21].gte(9**4),
        1277:() => player.hu.buyables[21].gte(10**4),
        1278:() => player.hu.buyables[21].gte(11**4),
        1279:() => player.hu.buyables[21].gte(12**4),
        1280:() => player.hu.buyables[21].gte(13**4),
        1281:() => player.hu.buyables[21].gte(14**4),
        1282:() => player.hu.buyables[22].gte(8**4),
        1283:() => player.hu.buyables[22].gte(9**4),
        1284:() => player.hu.buyables[22].gte(10**4),
        1285:() => player.hu.buyables[22].gte(11**4),
        1286:() => player.hu.buyables[22].gte(12**4),
        1287:() => player.hu.buyables[22].gte(13**4),
        1288:() => player.hu.buyables[22].gte(14**4),
        1289:() => player.hu.buyables[23].gte(8**4),
        1290:() => player.hu.buyables[23].gte(9**4),
        1291:() => player.hu.buyables[23].gte(10**4),
        1292:() => player.hu.buyables[23].gte(11**4),
        1293:() => player.hu.buyables[23].gte(12**4),
        1294:() => player.hu.buyables[23].gte(13**4),
        1295:() => player.hu.buyables[23].gte(14**4),
        1296:() => player.hu.buyables[31].gte(8**4),
        1297:() => player.hu.buyables[31].gte(9**4),
        1298:() => player.hu.buyables[31].gte(10**4),
        1299:() => player.hu.buyables[31].gte(11**4),
        1300:() => player.hu.buyables[31].gte(12**4),
        1301:() => player.hu.buyables[31].gte(13**4),
        1302:() => player.hu.buyables[31].gte(14**4),
        1303:() => player.hu.buyables[32].gte(8**4),
        1304:() => player.hu.buyables[32].gte(9**4),
        1305:() => player.hu.buyables[32].gte(10**4),
        1306:() => player.hu.buyables[32].gte(11**4),
        1307:() => player.hu.buyables[32].gte(12**4),
        1308:() => player.hu.buyables[32].gte(13**4),
        1309:() => player.hu.buyables[32].gte(14**4),
        1310:() => player.hu.buyables[33].gte(8**4),
        1311:() => player.hu.buyables[33].gte(9**4),
        1312:() => player.hu.buyables[33].gte(10**4),
        1313:() => player.hu.buyables[33].gte(11**4),
        1314:() => player.hu.buyables[33].gte(12**4),
        1315:() => player.hu.buyables[33].gte(13**4),
        1316:() => player.hu.buyables[33].gte(14**4),
}

PROGRESSION_MILESTONES_TEXT = {
        1:   "20 Hydrogen",
        2:   "400 Hydrogen",
        3:   "8000 Hydrogen",
        4:   "1 Deuterium",
        5:   "100 Deuterium",
        6:   "5 Atomic Hydrogen",
        7:   "500 Atomic Hydrogen",
        8:   "10,000 Deuterium",
        9:   "1e6 Deuterium",
        10:  "50,000 Atomic Hydrogen",
        11:  "5e6 Atomic Hydrogen",
        12:  "1e7 Hydrogen",
        13:  "1e11 Hydrogen",
        14:  "1e15 Hydrogen",
        15:  "1e22 Hydrogen",
        16:  "1e30 Hydrogen",
        17:  "1e42 Hydrogen",
        18:  "1e56 Hydrogen",
        19:  "1e77 Hydrogen",
        20:  "1e101 Hydrogen",
        21:  "1e135 Hydrogen",
        22:  "1e176 Hydrogen",
        23:  "1e231 Hydrogen",
        24:  "1e297 Hydrogen",
        25:  "1e385 Hydrogen",
        26:  "1e490 Hydrogen",
        27:  "1e627 Hydrogen",
        28:  "1e792 Hydrogen",
        29:  "10 Carbon",
        30:  "100 Carbon",
        31:  "1,000 Carbon",
        32:  "1e4 Carbon",
        33:  "1e5 Carbon",
        34:  "1e6 Carbon",
        35:  "1e7 Carbon",
        36:  "10 Oxygen",
        37:  "100 Oxygen",
        38:  "1,000 Oxygen",
        39:  "1e4 Oxygen",
        40:  "1e5 Oxygen",
        41:  "1e6 Oxygen",
        42:  "1e7 Oxygen",
        43:  "1e9 Carbon",
        44:  "1e12 Carbon",
        45:  "1e15 Carbon",
        46:  "1e18 Carbon",
        47:  "1e21 Carbon",
        48:  "1e24 Carbon",
        49:  "1e27 Carbon",
        50:  "1e9 Oxygen",
        51:  "1e12 Oxygen",
        52:  "1e15 Oxygen",
        53:  "1e18 Oxygen",
        54:  "1e21 Oxygen",
        55:  "1e24 Oxygen",
        56:  "1e27 Oxygen",
        57:  "a token",
        58:  "2 tokens",
        59:  "3 tokens",
        60:  "4 tokens",
        61:  "5 tokens",
        62:  "6 tokens",
        63:  "7 tokens",
        64:  "8 tokens",
        65:  "9 tokens",
        66:  "10 tokens",
        67:  "11 tokens",
        68:  "12 tokens",
        69:  "13 tokens",
        70:  "14 tokens",
        71:  "15 tokens",
        72:  "16 tokens",
        73:  "17 tokens",
        74:  "18 tokens",
        75:  "19 tokens",
        76:  "20 tokens",
        77:  "21 tokens",
        78:  "22 tokens",
        79:  "23 tokens",
        80:  "24 tokens",
        81:  "25 tokens",
        82:  "26 tokens",
        83:  "27 tokens",
        84:  "28 tokens",
        85:  "29 tokens",
        86:  "30 tokens",
        87:  "31 tokens",
        88:  "32 tokens",
        89:  "33 tokens",
        90:  "34 tokens",
        91:  "35 tokens",
        92:  "36 tokens",
        93:  "37 tokens",
        94:  "38 tokens",
        95:  "39 tokens",
        96:  "40 tokens",
        97:  "41 tokens",
        98:  "42 tokens",
        99:  "43 tokens",
        100: "44 tokens",
        101: "45 tokens",
        102: "46 tokens",
        103: "47 tokens",
        104: "48 tokens",
        105: "49 tokens",
        106: "50 tokens",
        107: "51 tokens",
        108: "52 tokens",
        109: "53 tokens",
        110: "54 tokens",
        111: "55 tokens",
        112: "56 tokens",
        113: "57 tokens",
        114: "58 tokens",
        115: "59 tokens",
        116: "60 tokens",
        117: "61 tokens",
        118: "62 tokens",
        119: "63 tokens",
        120: "64 tokens",
        121: "65 tokens",
        122: "66 tokens",
        123: "67 tokens",
        124: "68 tokens",
        125: "69 tokens",
        126: "70 tokens",
        127: "71 tokens",
        128: "72 tokens",
        129: "73 tokens",
        130: "74 tokens",
        131: "75 tokens",
        132: "76 tokens",
        133: "77 tokens",
        134: "78 tokens",
        135: "79 tokens",
        136: "80 tokens",
        137: "81 tokens",
        138: "82 tokens",
        139: "83 tokens",
        140: "84 tokens",
        141: "1e7 Nitrogen",
        142: "1e10 Nitrogen",
        143: "1e15 Nitrogen",
        144: "1e20 Nitrogen",
        145: "1e27 Nitrogen",
        146: "1e35 Nitrogen",
        147: "1e45 Nitrogen",
        148: "85 tokens",
        149: "86 tokens",
        150: "87 tokens",
        151: "88 tokens",
        152: "89 tokens",
        153: "90 tokens",
        154: "91 tokens",
        155: "10 Phosphorus",
        156: "100 Phosphorus",
        157: "1e4 Phosphorus",
        158: "1e8 Phosphorus",
        159: "1e16 Phosphorus",
        160: "1e32 Phosphorus",
        161: "1e64 Phosphorus",
        162: "7 µ",
        163: "14 µ",
        164: "21 µ",
        165: "28 µ",
        166: "35 µ",
        167: "42 µ",
        168: "49 µ",
        169: "56 µ",
        170: "63 µ",
        171: "70 µ",
        172: "77 µ",
        173: "84 µ",
        174: "91 µ",
        175: "98 µ",
        176: "a life :(",
        177: "2 lives",
        178: "3 lives",
        179: "4 lives",
        180: "5 lives",
        181: "6 lives",
        182: "7 lives",
        183: "10 lives",
        184: "100 lives",
        185: "1e3 lives",
        186: "1e4 lives",
        187: "1e5 lives",
        188: "1e6 lives",
        189: "1e7 lives",
        190: "1e8 lives",
        191: "1e9 lives",
        192: "1e10 lives",
        193: "1e11 lives",
        194: "1e12 lives",
        195: "1e13 lives",
        196: "1e14 lives",
        197: "2 Dilation completions",
        198: "6 Dilation completions",
        199: "10 Dilation completions",
        200: "14 Dilation completions",
        201: "18 Dilation completions",
        202: "22 Dilation completions",
        203: "26 Dilation completions",
        204: "30 Dilation completions",
        205: "34 Dilation completions",
        206: "38 Dilation completions",
        207: "42 Dilation completions",
        208: "46 Dilation completions",
        209: "50 Dilation completions",
        210: "54 Dilation completions",
        211: "58 Dilation completions",
        212: "62 Dilation completions",
        213: "66 Dilation completions",
        214: "70 Dilation completions",
        215: "74 Dilation completions",
        216: "78 Dilation completions",
        217: "82 Dilation completions",
        218: "86 Dilation completions",
        219: "90 Dilation completions",
        220: "94 Dilation completions",
        221: "98 Dilation completions",
        222: "102 Dilation completions",
        223: "106 Dilation completions",
        224: "110 Dilation completions",
        225: "a C12 Gem",
        226: "a C21 Gem",
        227: "a C22 Gem",
        228: "a C13 Gem",
        229: "a C23 Gem",
        230: "a C31 Gem",
        231: "a C32 Gem",
        232: "a C33 Gem",
        233: "2 Amino Acids",
        234: "4 Amino Acids",
        235: "8 Amino Acids",
        236: "16 Amino Acids",
        237: "32 Amino Acids",
        238: "64 Amino Acids",
        239: "a C14 Gem",
        240: "a C24 Gem",
        241: "a C34 Gem",
        242: "a C41 Gem",
        243: "a C42 Gem",
        244: "a C43 Gem",
        245: "a C44 Gem",
        246: "a C15 Gem",
        247: "a C25 Gem",
        248: "a C35 Gem",
        249: "a C45 Gem",
        250: "a C51 Gem",
        251: "a C52 Gem",
        252: "a C53 Gem",
        253: "a C54 Gem",
        254: "a C55 Gem",
        255: "1e2 Amino Acids",
        256: "1e4 Amino Acids",
        257: "1e8 Amino Acids",
        258: "1e16 Amino Acids",
        259: "1e32 Amino Acids",
        260: "10 Protein",
        261: "1e2 Protein",
        262: "1e4 Protein",
        263: "1e8 Protein",
        264: "1e16 Protein",
        265: "1e32 Protein",
        266: "1e64 Protein",
        267: "1e128 Protein",
        268: "1e256 Protein",
        269: "1e512 Protein",
        270: "1e1,024 Protein",
        271: "1e2,048 Protein",
        272: "1e4,096 Protein",
        273: "1e8,192 Protein",
        274: "1e10,000 Protein",
        275: "1e20,000 Protein",
        276: "1e50,000 Protein",
        277: "1e100,000 Protein",
        278: "1e200,000 Protein",
        279: "1e500,000 Protein",
        280: "1e1,000,000 Protein",
        281: "1e2,000,000 Protein",
        282: "1e5,000,000 Protein",
        283: "1e10,000,000 Protein",
        284: "1e20,000,000 Protein",
        285: "1e50,000,000 Protein",
        286: "1e100,000,000 Protein",
        287: "1e200,000,000 Protein",
        288: "1e500,000,000 Protein",
        289: "1e1e9 Protein",
        290: "1e2e9 Protein",
        291: "1e5e9 Protein",
        292: "1e1e10 Protein",
        293: "1e2e10 Protein",
        294: "1e5e10 Protein",
        295: "1 DNA",
        296: "3 DNA",
        297: "5 DNA",
        298: "17 DNA",
        299: "257 DNA",
        300: "65,537 DNA",
        301: "4,294,967,297 DNA",
        302: "Anti-Hydrogen",
        303: "Anti-Minigame",
        304: "Anti-Carbon",
        305: "Anti-Oxygen",
        306: "Anti-Nitrogen",
        307: "Anti-Inflammatory",
        308: "Anti-Omega",
        309: "a C16 Gem",
        310: "a C26 Gem",
        311: "a C36 Gem",
        312: "a C46 Gem",
        313: "a C56 Gem",
        314: "a C61 Gem",
        315: "a C62 Gem",
        316: "a C63 Gem",
        317: "a C64 Gem",
        318: "a C65 Gem",
        319: "a C66 Gem",
        320: "1.84e19 DNA",
        321: "3.40e38 DNA",
        322: "1.16e77 DNA",
        323: "Anti-Psi",
        324: "Anti-Chi",
        325: "Anti-Phi",
        326: "Anti-Upsilon",
        327: "Anti-Tau",
        328: "Anti-Sigma",
        329: "Anti-Rho",
        330: "a C17 Gem",
        331: "a C27 Gem",
        332: "a C37 Gem",
        333: "a C47 Gem",
        334: "a C57 Gem",
        335: "a C67 Gem",
        336: "a C71 Gem",
        337: "a C72 Gem",
        338: "a C73 Gem",
        339: "a C74 Gem",
        340: "a C75 Gem",
        341: "a C76 Gem",
        342: "a C77 Gem",
        343: "a C18 Gem",
        344: "a C28 Gem",
        345: "a C38 Gem",
        346: "a C48 Gem",
        347: "a C58 Gem",
        348: "a C68 Gem",
        349: "a C78 Gem",
        350: "a C81 Gem",
        351: "a C82 Gem",
        352: "a C83 Gem",
        353: "a C84 Gem",
        354: "a C85 Gem",
        355: "a C86 Gem",
        356: "a C87 Gem",
        357: "a C88 Gem",
        358: "1.34e154 DNA",
        359: "1.80e308 DNA",
        360: "3.23e616 DNA",
        361: "1e1e11 Protein",
        362: "1e2e11 Protein",
        363: "1e5e11 Protein",
        364: "1e1e12 Protein",
        365: "1 Cell",
        366: "2 Cells",
        367: "5 Cells",
        368: "14 Cells",
        369: "42 Cells",
        370: "132 Cells",
        371: "429 Cells",
        372: "1.04e1233 DNA",
        373: "1.09e2466 DNA",
        374: "1.19e4932 DNA",
        375: "1.42e9864 DNA",
        376: "2.00e19,728 DNA",
        377: "4.01e39,456 DNA",
        378: "1.61e78,913 DNA",
        379: "1e1e13 Protein",
        380: "1e3e13 Protein",
        381: "1e1e14 Protein",
        382: "1e3e14 Protein",
        383: "1e1e15 Protein",
        384: "1e3e15 Protein",
        385: "1e1e16 Protein",
        386: "10 Mu",
        387: "100 Mu",
        388: "1e4 Mu",
        389: "1e8 Mu",
        390: "1e16 Mu",
        391: "1e32 Mu",
        392: "1e64 Mu",
        393: "10 Lambda",
        394: "100 Lambda",
        395: "1e4 Lambda",
        396: "1e8 Lambda",
        397: "1e16 Lambda",
        398: "1e32 Lambda",
        399: "1e64 Lambda",
        400: "10 Kappa",
        401: "100 Kappa",
        402: "1e4 Kappa",
        403: "1e8 Kappa",
        404: "1e16 Kappa",
        405: "1e32 Kappa",
        406: "1e64 Kappa",
        407: "10 Iota",
        408: "100 Iota",
        409: "1e4 Iota",
        410: "1e8 Iota",
        411: "1e16 Iota",
        412: "1e32 Iota",
        413: "1e64 Iota",
        414: "1e3e16 Protein",
        415: "1e1e17 Protein",
        416: "1e3e17 Protein",
        417: "1e1e18 Protein",
        418: "1e3e18 Protein",
        419: "1e1e19 Protein",
        420: "1e3e19 Protein",
        421: "10 Stem Cells",
        422: "100 Stem Cells",
        423: "1e4 Stem Cells",
        424: "1e8 Stem Cells",
        425: "1e16 Stem Cells",
        426: "1e32 Stem Cells",
        427: "1e64 Stem Cells",
        428: "1e4 Cells", 
        429: "1e8 Cells", 
        430: "1e16 Cells", 
        431: "1e32 Cells", 
        432: "1e64 Cells", 
        433: "1e128 Cells", 
        434: "1e256 Cells", 
        435: "1e128 Stem Cells",
        436: "1e256 Stem Cells",
        437: "1e512 Stem Cells",
        438: "1e1,024 Stem Cells",
        439: "1e2,048 Stem Cells",
        440: "1e4,096 Stem Cells",
        441: "1e8,192 Stem Cells",
        442: "200 Tokens",
        443: "205 Tokens",
        444: "210 Tokens",
        445: "215 Tokens",
        446: "220 Tokens",
        447: "225 Tokens",
        448: "230 Tokens",
        449: "235 Tokens",
        450: "240 Tokens",
        451: "245 Tokens",
        452: "250 Tokens",
        453: "255 Tokens",
        454: "260 Tokens",
        455: "265 Tokens",
        456: "270 Tokens",
        457: "275 Tokens",
        458: "280 Tokens",
        459: "285 Tokens",
        460: "290 Tokens",
        461: "295 Tokens",
        462: "300 Tokens",
        463: "1e128 Mu",
        464: "1e256 Mu",
        465: "1e512 Mu",
        466: "1e1,024 Mu",
        467: "1e2,048 Mu",
        468: "1e4,096 Mu",
        469: "1e8,192 Mu",
        470: "1e128 Lambda",
        471: "1e256 Lambda",
        472: "1e512 Lambda",
        473: "1e1,024 Lambda",
        474: "1e2,048 Lambda",
        475: "1e4,096 Lambda",
        476: "1e8,192 Lambda",
        477: "1e128 Kappa",
        478: "1e256 Kappa",
        479: "1e512 Kappa",
        480: "1e1,024 Kappa",
        481: "1e2,048 Kappa",
        482: "1e4,096 Kappa",
        483: "1e8,192 Kappa",
        484: "1e128 Iota",
        485: "1e256 Iota",
        486: "1e512 Iota",
        487: "1e1,024 Iota",
        488: "1e2,048 Iota",
        489: "1e4,096 Iota",
        490: "1e8,192 Iota",
        491: "1e512 Cells",
        492: "1e1,024 Cells",
        493: "1e2,048 Cells",
        494: "1e4,096 Cells",
        495: "1e8,192 Cells",
        496: "1e16,384 Cells",
        497: "1e32,768 Cells",
        498: "305 Tokens",
        499: "310 Tokens",
        500: "315 Tokens",
        501: "320 Tokens",
        502: "325 Tokens",
        503: "330 Tokens",
        504: "335 Tokens",
        505: "1e16,384 Stem Cells",
        506: "1e32,768 Stem Cells",
        507: "1e65,536 Stem Cells",
        508: "1e131,072 Stem Cells",
        509: "1e262,144 Stem Cells",
        510: "1e524,288 Stem Cells",
        511: "1e1,048,576 Stem Cells",
        512: "340 Tokens",
        513: "345 Tokens",
        514: "350 Tokens",
        515: "355 Tokens",
        516: "360 Tokens",
        517: "365 Tokens",
        518: "370 Tokens",
        519: "a Tissue upgrade",
        520: "4 Tissue upgrades",
        521: "9 Tissue upgrades",
        522: "16 Tissue upgrades",
        523: "25 Tissue upgrades",
        524: "36 Tissue upgrades",
        525: "49 Tissue upgrades",
        526: "380 Tokens",
        527: "390 Tokens",
        528: "400 Tokens",
        529: "410 Tokens",
        530: "420 Tokens",
        531: "430 Tokens",
        532: "440 Tokens",
        533: "a Token II",
        534: "2 Token II",
        535: "3 Token II",
        536: "4 Token II",
        537: "5 Token II",
        538: "6 Token II",
        539: "7 Token II",
        540: "8 Token II",
        541: "9 Token II",
        542: "10 Token II",
        543: "11 Token II",
        544: "12 Token II",
        545: "13 Token II",
        546: "14 Token II",
        547: "15 Token II",
        548: "16 Token II",
        549: "17 Token II",
        550: "18 Token II",
        551: "19 Token II",
        552: "20 Token II",
        553: "21 Token II",
        554: "22 Token II",
        555: "23 Token II",
        556: "24 Token II",
        557: "25 Token II",
        558: "26 Token II",
        559: "27 Token II",
        560: "28 Token II",
        561: "29 Token II",
        562: "30 Token II",
        563: "31 Token II",
        564: "32 Token II",
        565: "33 Token II",
        566: "34 Token II",
        567: "35 Token II",
        568: "36 Token II",
        569: "37 Token II",
        570: "38 Token II",
        571: "39 Token II",
        572: "40 Token II",
        573: "41 Token II",
        574: "42 Token II",
        575: "an Organ",
        576: "2 Organs",
        577: "3 Organs",
        578: "4 Organs",
        579: "5 Organs",
        580: "6 Organs",
        581: "7 Organs",
        582: "45 Token II",
        583: "50 Token II",
        584: "55 Token II",
        585: "60 Token II",
        586: "65 Token II",
        587: "70 Token II",
        588: "75 Token II",
        589: "80 Token II",
        590: "85 Token II",
        591: "90 Token II",
        592: "95 Token II",
        593: "100 Token II",
        594: "105 Token II",
        595: "110 Token II",
        596: "100 Organs",
        597: "1,000 Organs",
        598: "10,000 Organs",
        599: "100,000 Organs",
        600: "1,000,000 Organs",
        601: "10,000,000 Organs",
        602: "100,000,000 Organs",
        603: "10 Oxygenated Blood",
        604: "100 Oxygenated Blood",
        605: "10,000 Oxygenated Blood",
        606: "100,000,000 Oxygenated Blood",
        607: "1e16 Oxygenated Blood",
        608: "1e32 Oxygenated Blood",
        609: "1e64 Oxygenated Blood",
        610: "115 Token II",
        611: "120 Token II",
        612: "125 Token II",
        613: "130 Token II",
        614: "135 Token II",
        615: "140 Token II",
        616: "145 Token II",
        617: "10 Contaminants",
        618: "100 Contaminants",
        619: "10,000 Contaminants",
        620: "100,000,000 Contaminants",
        621: "1e16 Contaminants",
        622: "1e32 Contaminants",
        623: "1e64 Contaminants",
        624: "1e128 Contaminants",
        625: "1e256 Contaminants",
        626: "1e512 Contaminants",
        627: "1e1,024 Contaminants",
        628: "1e2,048 Contaminants",
        629: "1e4,096 Contaminants",
        630: "1e8,192 Contaminants",
        631: "1e100 Oxygenated Blood",
        632: "1e150 Oxygenated Blood",
        633: "1e200 Oxygenated Blood",
        634: "1e250 Oxygenated Blood",
        635: "1e300 Oxygenated Blood",
        636: "1e350 Oxygenated Blood",
        637: "1e400 Oxygenated Blood",
        638: "150 Token II",
        639: "155 Token II",
        640: "160 Token II",
        641: "165 Token II",
        642: "170 Token II",
        643: "175 Token II",
        644: "180 Token II",
        645: "1e16,384 Contaminants",
        646: "1e32,768 Contaminants",
        647: "1e65,536 Contaminants",
        648: "1e131,072 Contaminants",
        649: "1e262,144 Contaminants",
        650: "1e524,288 Contaminants",
        651: "1e1,048,576 Contaminants",
        652: "185 Token II",
        653: "190 Token II",
        654: "195 Token II",
        655: "200 Token II",
        656: "205 Token II",
        657: "210 Token II",
        658: "215 Token II",
        659: "10 Air",
        660: "100 Air",
        661: "10,000 Air",
        662: "100,000,000 Air",
        663: "1e16 Air",
        664: "1e32 Air",
        665: "1e64 Air",
        666: "1e128 Air",
        667: "1e256 Air",
        668: "1e512 Air",
        669: "1e1,024 Air",
        670: "1e2,048 Air",
        671: "1e4,096 Air",
        672: "1e8,192 Air",
        673: "1e2,000,000 Contaminants",
        674: "1e5,000,000 Contaminants",
        675: "1e10,000,000 Contaminants",
        676: "1e20,000,000 Contaminants",
        677: "1e50,000,000 Contaminants",
        678: "1e100,000,000 Contaminants",
        679: "1e200,000,000 Contaminants",
        680: "220 Token II",
        681: "230 Token II",
        682: "240 Token II",
        683: "250 Token II",
        684: "260 Token II",
        685: "270 Token II",
        686: "280 Token II",
        687: "290 Token II",
        688: "300 Token II",
        689: "310 Token II",
        690: "320 Token II",
        691: "330 Token II",
        692: "340 Token II",
        693: "350 Token II",
        694: "360 Token II",
        695: "370 Token II",
        696: "380 Token II",
        697: "390 Token II",
        698: "400 Token II",
        699: "410 Token II",
        700: "420 Token II",
        701: "10 Energy",
        702: "100 Energy",
        703: "10,000 Energy",
        704: "100,000,000 Energy",
        705: "1e16 Energy",
        706: "1e32 Energy",
        707: "1e64 Energy",
        708: "1e128 Energy",
        709: "1e256 Energy",
        710: "1e512 Energy",
        711: "1e1,024 Energy",
        712: "1e2,048 Energy",
        713: "1e4,096 Energy",
        714: "1e8,192 Energy",
        715: "440 Token II",
        716: "460 Token II",
        717: "480 Token II",
        718: "500 Token II",
        719: "520 Token II",
        720: "540 Token II",
        721: "560 Token II",
        722: "580 Token II",
        723: "600 Token II",
        724: "620 Token II",
        725: "640 Token II",
        726: "660 Token II",
        727: "680 Token II",
        728: "700 Token II",
        729: "720 Token II",
        730: "740 Token II",
        731: "760 Token II",
        732: "780 Token II",
        733: "800 Token II",
        734: "820 Token II",
        735: "840 Token II",
        736: "a Animal",
        737: "10 Animals",
        738: "100 Animals",
        739: "1,000 Animals",
        740: "10,000 Animals",
        741: "100,000 Animals",
        742: "1,000,000 Animals",
        743: "10 Genes",
        744: "100 Genes",
        745: "10,000 Genes",
        746: "100,000,000 Genes",
        747: "1e16 Genes",
        748: "1e32 Genes",
        749: "1e64 Genes",
        750: "1e128 Genes",
        751: "1e256 Genes",
        752: "1e512 Genes",
        753: "1e1,024 Genes",
        754: "1e2,048 Genes",
        755: "1e4,096 Genes",
        756: "1e8,192 Genes",
        757: "1e8 Animals",
        758: "1e10 Animals",
        759: "1e12 Animals",
        760: "1e14 Animals",
        761: "1e16 Animals",
        762: "1e18 Animals",
        763: "1e20 Animals",
        764: "1e500,000,000 Contaminants",
        765: "1e1e9 Contaminants",
        766: "1e2e9 Contaminants",
        767: "1e5e9 Contaminants",
        768: "1e1e10 Contaminants",
        769: "1e2e10 Contaminants",
        770: "1e5e10 Contaminants",
        771: "900 Token II",
        772: "950 Token II",
        773: "1000 Token II",
        774: "1050 Token II",
        775: "1100 Token II",
        776: "1150 Token II",
        777: "1200 Token II",
        778: "1300 Token II",
        779: "1400 Token II",
        780: "1500 Token II",
        781: "1600 Token II",
        782: "1700 Token II",
        783: "1800 Token II",
        784: "1900 Token II",
        785: "2000 Token II",
        786: "2200 Token II",
        787: "2400 Token II",
        788: "2600 Token II",
        789: "2800 Token II",
        790: "3000 Token II",
        791: "3200 Token II",
        792: "3400 Token II",
        793: "3600 Token II",
        794: "3800 Token II",
        795: "4000 Token II",
        796: "4200 Token II",
        797: "4400 Token II",
        798: "4600 Token II",
        799: "a Chromosome",
        800: "4 Chromosomes",
        801: "9 Chromosomes",
        802: "16 Chromosomes",
        803: "25 Chromosomes",
        804: "36 Chromosomes",
        805: "49 Chromosomes",
        806: "64 Chromosomes",
        807: "81 Chromosomes",
        808: "100 Chromosomes",
        809: "121 Chromosomes",
        810: "144 Chromosomes",
        811: "169 Chromosomes",
        812: "196 Chromosomes",
        813: "1e1e11 Contaminants",
        814: "1e2e11 Contaminants",
        815: "1e5e11 Contaminants",
        816: "1e1e12 Contaminants",
        817: "1e2e12 Contaminants",
        818: "1e5e12 Contaminants",
        819: "1e1e13 Contaminants",
        820: "1e2e13 Contaminants",
        821: "1e5e13 Contaminants",
        822: "1e1e14 Contaminants",
        823: "1e2e14 Contaminants",
        824: "1e5e14 Contaminants",
        825: "1e1e15 Contaminants",
        826: "1e2e15 Contaminants",
        827: "5000 Token II",
        828: "5500 Token II",
        829: "6000 Token II",
        830: "6500 Token II",
        831: "7000 Token II",
        832: "7500 Token II",
        833: "8000 Token II",
        834: "a Nucleuse",
        835: "2 Nucleuses",
        836: "3 Nucleuses",
        837: "4 Nucleuses",
        838: "5 Nucleuses",
        839: "6 Nucleuses",
        840: "7 Nucleuses",
        841: "9000 Token II",
        842: "10,000 Token II",
        843: "11,000 Token II",
        844: "12,000 Token II",
        845: "13,000 Token II",
        846: "14,000 Token II",
        847: "15,000 Token II",
        848: "225 Chromosomes",
        849: "256 Chromosomes",
        850: "289 Chromosomes",
        851: "324 Chromosomes",
        852: "361 Chromosomes",
        853: "400 Chromosomes",
        854: "441 Chromosomes",
        855: "8 Nucleuses",
        856: "9 Nucleuses",
        857: "10 Nucleuses",
        858: "11 Nucleuses",
        859: "12 Nucleuses",
        860: "13 Nucleuses",
        861: "14 Nucleuses",
        862: "484 Chromosomes",
        863: "529 Chromosomes",
        864: "576 Chromosomes",
        865: "625 Chromosomes",
        866: "676 Chromosomes",
        867: "729 Chromosomes",
        868: "784 Chromosomes",
        869: "15 Nucleuses",
        870: "16 Nucleuses",
        871: "17 Nucleuses",
        872: "18 Nucleuses",
        873: "19 Nucleuses",
        874: "20 Nucleuses",
        875: "21 Nucleuses",
        876: "22 Nucleuses",
        877: "24 Nucleuses",
        878: "26 Nucleuses",
        879: "28 Nucleuses",
        880: "30 Nucleuses",
        881: "32 Nucleuses",
        882: "34 Nucleuses",
        883: "1e5e15 Contaminants",
        884: "1e1e16 Contaminants",
        885: "1e2e16 Contaminants",
        886: "1e5e16 Contaminants",
        887: "1e1e17 Contaminants",
        888: "1e2e17 Contaminants",
        889: "1e5e17 Contaminants",
        890: "36 Nucleuses",
        891: "39 Nucleuses",
        892: "42 Nucleuses",
        893: "45 Nucleuses",
        894: "48 Nucleuses",
        895: "51 Nucleuses",
        896: "54 Nucleuses",
        897: "58 Nucleuses",
        898: "62 Nucleuses",
        899: "66 Nucleuses",
        900: "70 Nucleuses",
        901: "74 Nucleuses",
        902: "78 Nucleuses",
        903: "82 Nucleuses",
        904: "1 Species reset",
        905: "2 Species resets",
        906: "3 Species resets",
        907: "4 Species resets",
        908: "5 Species resets",
        909: "6 Species resets",
        910: "7 Species resets",
        911: "10 Species",
        912: "1000 Species",
        913: "1,000,000 Species",
        914: "1e10 Species",
        915: "1e15 Species",
        916: "1e21 Species",
        917: "1e28 Species",
        918: "1e36 Species",
        919: "1e45 Species",
        920: "1e55 Species",
        921: "1e66 Species",
        922: "1e78 Species",
        923: "1e91 Species",
        924: "1e105 Species",
        925: "1e1e18 Contaminants",
        926: "1e2e18 Contaminants",
        927: "1e5e18 Contaminants",
        928: "1e1e19 Contaminants",
        929: "1e2e19 Contaminants",
        930: "1e5e19 Contaminants",
        931: "1e1e20 Contaminants",
        932: "1e120 Species",
        933: "1e136 Species",
        934: "1e153 Species",
        935: "1e171 Species",
        936: "1e190 Species",
        937: "1e210 Species",
        938: "1e231 Species",
        939: "1e2e20 Contaminants",
        940: "1e5e20 Contaminants",
        941: "1e1e21 Contaminants",
        942: "1e2e21 Contaminants",
        943: "1e5e21 Contaminants",
        944: "1e1e22 Contaminants",
        945: "1e2e22 Contaminants",
        946: "1e253 Species",
        947: "1e276 Species",
        948: "1e300 Species",
        949: "1e325 Species",
        950: "1e351 Species",
        951: "1e378 Species",
        952: "1e406 Species",
        953: "1e5e22 Contaminants",
        954: "1e1e23 Contaminants",
        955: "1e2e23 Contaminants",
        956: "1e5e23 Contaminants",
        957: "1e1e24 Contaminants",
        958: "1e2e24 Contaminants",
        959: "1e5e24 Contaminants",
        960: "1e512 Species",
        961: "1e729 Species",
        962: "1e1000 Species",
        963: "1e1331 Species",
        964: "1e1728 Species",
        965: "1e2197 Species",
        966: "1e2744 Species",
        967: "1e1e25 Contaminants",
        968: "1e2e25 Contaminants",
        969: "1e5e25 Contaminants",
        970: "1e1e26 Contaminants",
        971: "1e2e26 Contaminants",
        972: "1e5e26 Contaminants",
        973: "1e1e27 Contaminants",
        974: "1e2e27 Contaminants",
        975: "1e5e27 Contaminants",
        976: "1e1e28 Contaminants",
        977: "1e2e28 Contaminants",
        978: "1e5e28 Contaminants",
        979: "1e1e29 Contaminants",
        980: "1e2e29 Contaminants",
        981: "1 Ecosystem",
        982: "6 Ecosystems",
        983: "120 Ecosystems",
        984: "5,040 Ecosystems",
        985: "362,880 Ecosystems",
        986: "39,916,800 Ecosystems",
        987: "6.22e9 Ecosystems",
        988: "1 Chromosomeless? completion",
        989: "2 Chromosomeless? completions",
        990: "3 Chromosomeless? completions",
        991: "4 Chromosomeless? completions",
        992: "5 Chromosomeless? completions",
        993: "6 Chromosomeless? completions",
        994: "7 Chromosomeless? completions",
        995: "1e5e29 Contaminants",
        996: "1e1e30 Contaminants",
        997: "1e3e30 Contaminants",
        998: "1e1e31 Contaminants",
        999: "1e3e31 Contaminants",
        1000:"1e1e32 Contaminants",
        1001:"1e3e32 Contaminants",
        1002:"8 Chromosomeless? completions",
        1003:"10 Chromosomeless? completions",
        1004:"12 Chromosomeless? completions",
        1005:"14 Chromosomeless? completions",
        1006:"16 Chromosomeless? completions",
        1007:"18 Chromosomeless? completions",
        1008:"20 Chromosomeless? completions",
        1009:"23 Chromosomeless? completions",
        1010:"26 Chromosomeless? completions",
        1011:"29 Chromosomeless? completions",
        1012:"32 Chromosomeless? completions",
        1013:"35 Chromosomeless? completions",
        1014:"38 Chromosomeless? completions",
        1015:"41 Chromosomeless? completions",
        1016:"1e16 Ecosystems",
        1017:"1e25 Ecosystems",
        1018:"1e36 Ecosystems",
        1019:"1e49 Ecosystems",
        1020:"1e64 Ecosystems",
        1021:"1e81 Ecosystems",
        1022:"1e100 Ecosystems",
        1023:"45 Chromosomeless? completions",
        1024:"50 Chromosomeless? completions",
        1025:"55 Chromosomeless? completions",
        1026:"60 Chromosomeless? completions",
        1027:"65 Chromosomeless? completions",
        1028:"70 Chromosomeless? completions",
        1029:"75 Chromosomeless? completions",
        1030:"1e1e33 Contaminants",
        1031:"1e3e33 Contaminants",
        1032:"1e1e34 Contaminants",
        1033:"1e3e34 Contaminants",
        1034:"1e1e35 Contaminants",
        1035:"1e3e35 Contaminants",
        1036:"1e1e36 Contaminants",
        1037:"80 Ecosystem challenges",
        1038:"90 Ecosystem challenges",
        1039:"100 Ecosystem challenges",
        1040:"110 Ecosystem challenges",
        1041:"120 Ecosystem challenges",
        1042:"130 Ecosystem challenges",
        1043:"140 Ecosystem challenges",
        1044:"1e3e36 Contaminants",
        1045:"1e1e37 Contaminants",
        1046:"1e3e37 Contaminants",
        1047:"1e1e38 Contaminants",
        1048:"1e3e38 Contaminants",
        1049:"1e1e39 Contaminants",
        1050:"1e3e39 Contaminants",
        1051:"150 Ecosystem challenges",
        1052:"160 Ecosystem challenges",
        1053:"170 Ecosystem challenges",
        1054:"180 Ecosystem challenges",
        1055:"190 Ecosystem challenges",
        1056:"200 Ecosystem challenges",
        1057:"210 Ecosystem challenges",
        1058:"1e1e40 Contaminants",
        1059:"1e3e40 Contaminants",
        1060:"1e1e41 Contaminants",
        1061:"1e3e41 Contaminants",
        1062:"1e1e42 Contaminants",
        1063:"1e3e42 Contaminants",
        1064:"1e1e43 Contaminants",
        1065:"220 Ecosystem challenges",
        1066:"230 Ecosystem challenges",
        1067:"240 Ecosystem challenges",
        1068:"250 Ecosystem challenges",
        1069:"260 Ecosystem challenges",
        1070:"270 Ecosystem challenges",
        1071:"275 Ecosystem challenges",
        1072:"1e3e43 Contaminants",
        1073:"1e1e44 Contaminants",
        1074:"1e3e44 Contaminants",
        1075:"1e1e45 Contaminants",
        1076:"1e3e45 Contaminants",
        1077:"1e1e46 Contaminants",
        1078:"1e3e46 Contaminants",
        1079:"a Plant upgrade",
        1080:"2 Plant upgrades",
        1081:"3 Plant upgrades",
        1082:"4 Plant upgrades",
        1083:"5 Plant upgrades",
        1084:"6 Plant upgrades",
        1085:"7 Plant upgrades",
        1086:"8 Plant upgrades",
        1087:"9 Plant upgrades",
        1088:"10 Plant upgrades",
        1089:"11 Plant upgrades",
        1090:"12 Plant upgrades",
        1091:"13 Plant upgrades",
        1092:"14 Plant upgrades",
        1093:"1e1e47 Contaminants",
        1094:"1e1e48 Contaminants",
        1095:"1e1e49 Contaminants",
        1096:"1e1e50 Contaminants",
        1097:"1e1e51 Contaminants",
        1098:"1e1e52 Contaminants",
        1099:"1e1e53 Contaminants",
        1100:"1e1e54 Contaminants",
        1101:"1e1e55 Contaminants",
        1102:"1e1e56 Contaminants",
        1103:"1e1e57 Contaminants",
        1104:"1e1e58 Contaminants",
        1105:"1e1e59 Contaminants",
        1106:"1e1e60 Contaminants",
        1107:"15 Plant upgrades",
        1108:"16 Plant upgrades",
        1109:"17 Plant upgrades",
        1110:"18 Plant upgrades",
        1111:"19 Plant upgrades",
        1112:"20 Plant upgrades",
        1113:"250 Plants",
        1114:"1e1e61 Contaminants",
        1115:"1e1e62 Contaminants",
        1116:"1e1e63 Contaminants",
        1117:"1e1e64 Contaminants",
        1118:"1e1e65 Contaminants",
        1119:"1e1e66 Contaminants",
        1120:"1e1e67 Contaminants",
        1121:"a thought",
        1122:"100 thoughts",
        1123:"10,000 thoughts",
        1124:"1,000,000 thoughts",
        1125:"a Human reset",
        1126:"10 Human resets",
        1127:"75 Human resets",
        1128:"1e1e68 Contaminants",
        1129:"1e1e69 Contaminants",
        1130:"1e1e70 Contaminants",
        1131:"1e1e71 Contaminants",
        1132:"1e1e72 Contaminants",
        1133:"1e1e73 Contaminants",
        1134:"1e1e74 Contaminants",
        1135:"280 Ecosystem challenges",
        1136:"290 Ecosystem challenges",
        1137:"300 Ecosystem challenges",
        1138:"310 Ecosystem challenges",
        1139:"315 Ecosystem challenges",
        1140:"320 Ecosystem challenges",
        1141:"325 Ecosystem challenges",
        1142:"1e1e75 Contaminants",
        1143:"1e1e76 Contaminants",
        1144:"1e1e77 Contaminants",
        1145:"1e1e78 Contaminants",
        1146:"1e1e79 Contaminants",
        1147:"1e1e80 Contaminants",
        1148:"1e1e81 Contaminants",
        1149:"1e1e85 Contaminants",
        1150:"1e1e90 Contaminants",
        1151:"1e1e95 Contaminants",
        1152:"1e1e100 Contaminants",
        1153:"1e1e105 Contaminants",
        1154:"1e1e110 Contaminants",
        1155:"1e1e115 Contaminants",
        1156:"1e1e120 Contaminants",
        1157:"1e1e125 Contaminants",
        1158:"1e1e130 Contaminants",
        1159:"1e1e135 Contaminants",
        1160:"1e1e140 Contaminants",
        1161:"1e1e145 Contaminants",
        1162:"1e1e150 Contaminants",
        1163:"5 Human upgrades",
        1164:"10 Human upgrades",
        1165:"15 Human upgrades",
        1166:"20 Human upgrades",
        1167:"25 Human upgrades",
        1168:"30 Human upgrades",
        1169:"35 Human upgrades",
        1170:"a I think therefore I am level",
        1171:"16 I think therefore I am levels",
        1172:"81 I think therefore I am levels",
        1173:"256 I think therefore I am levels",
        1174:"625 I think therefore I am levels",
        1175:"1296 I think therefore I am levels",
        1176:"2401 I think therefore I am levels",
        1177:"7 Human milestones",
        1178:"14 Human milestones",
        1179:"21 Human milestones",
        1180:"28 Human milestones",
        1181:"35 Human milestones",
        1182:"42 Human milestones",
        1183:"49 Human milestones",
        1184:"a The greatest wealth is to live content with little level",
        1185:"16 The greatest wealth is to live content with little levels",
        1186:"81 The greatest wealth is to live content with little levels",
        1187:"256 The greatest wealth is to live content with little levels",
        1188:"625 The greatest wealth is to live content with little levels",
        1189:"1296 The greatest wealth is to live content with little levels",
        1190:"2401 The greatest wealth is to live content with little levels",
        1191:"a Hope is a waking dream level",
        1192:"16 Hope is a waking dream levels",
        1193:"81 Hope is a waking dream levels",
        1194:"256 Hope is a waking dream levels",
        1195:"625 Hope is a waking dream levels",
        1196:"1296 Hope is a waking dream levels",
        1197:"2401 Hope is a waking dream levels",
        1198:"56 Human milestones",
        1199:"63 Human milestones",
        1200:"70 Human milestones",
        1201:"77 Human milestones",
        1202:"84 Human milestones",
        1203:"91 Human milestones",
        1204:"98 Human milestones",
        1205:"a The unexamined life in not worh living level",
        1206:"16 The unexamined life in not worh living levels",
        1207:"81 The unexamined life in not worh living levels",
        1208:"256 The unexamined life in not worh living levels",
        1209:"625 The unexamined life in not worh living levels",
        1210:"1296 The unexamined life in not worh living levels",
        1211:"2401 The unexamined life in not worh living levels",
        1212:"a Give me a place to stand and I will move the earth level",
        1213:"16 Give me a place to stand and I will move the earth levels",
        1214:"81 Give me a place to stand and I will move the earth levels",
        1215:"256 Give me a place to stand and I will move the earth levels",
        1216:"625 Give me a place to stand and I will move the earth levels",
        1217:"1296 Give me a place to stand and I will move the earth levels",
        1218:"2401 Give me a place to stand and I will move the earth levels",
        1219:"a Better a diamond with a flaw than a pebble without level",
        1220:"16 Better a diamond with a flaw than a pebble without levels",
        1221:"81 Better a diamond with a flaw than a pebble without levels",
        1222:"256 Better a diamond with a flaw than a pebble without levels",
        1223:"625 Better a diamond with a flaw than a pebble without levels",
        1224:"1296 Better a diamond with a flaw than a pebble without levels",
        1225:"2401 Better a diamond with a flaw than a pebble without levels",
        1226:"a There is no harm with repeating a good thing level",
        1227:"16 There is no harm with repeating a good thing levels",
        1228:"81 There is no harm with repeating a good thing levels",
        1229:"256 There is no harm with repeating a good thing levels",
        1230:"625 There is no harm with repeating a good thing levels",
        1231:"1296 There is no harm with repeating a good thing levels",
        1232:"2401 There is no harm with repeating a good thing levels",
        1233:"a Science is organized knowledge level",
        1234:"16 Science is organized knowledge levels",
        1235:"81 Science is organized knowledge levels",
        1236:"256 Science is organized knowledge levels",
        1237:"625 Science is organized knowledge levels",
        1238:"1296 Science is organized knowledge levels",
        1239:"2401 Science is organized knowledge levels",
        1240:"a Hurry up and live level",
        1241:"16 Hurry up and live levels",
        1242:"81 Hurry up and live levels",
        1243:"256 Hurry up and live levels",
        1244:"625 Hurry up and live levels",
        1245:"1296 Hurry up and live levels",
        1246:"2401 Hurry up and live levels",

        1247:"a Researcher reset",
        1248:"4 Researcher resets",
        1249:"9 Researcher resets",
        1250:"16 Researcher resets",
        1251:"25 Researcher resets",
        1252:"36 Researcher resets",
        1253:"49 Researcher resets",
        1254:"4096 I think therefore I am levels",
        1255:"6561 I think therefore I am levels",
        1256:"10,000 I think therefore I am levels",
        1257:"14,641 I think therefore I am levels",
        1258:"20,736 I think therefore I am levels",
        1259:"28,561 I think therefore I am levels",
        1260:"38,416 I think therefore I am levels",
        1261:"4096 The greatest wealth is to live content with little levels",
        1262:"6561 The greatest wealth is to live content with little levels",
        1263:"10,000 The greatest wealth is to live content with little levels",
        1264:"14,641 The greatest wealth is to live content with little levels",
        1265:"20,736 The greatest wealth is to live content with little levels",
        1266:"28,561 The greatest wealth is to live content with little levels",
        1267:"38,416 The greatest wealth is to live content with little levels",
        1268:"4096 Hope is a waking dream levels",
        1269:"6561 Hope is a waking dream levels",
        1270:"10,000 Hope is a waking dream levels",
        1271:"14,641 Hope is a waking dream levels",
        1272:"20,736 Hope is a waking dream levels",
        1273:"28,561 Hope is a waking dream levels",
        1274:"38,416 Hope is a waking dream levels",
        1275:"4096 The unexamined life in not worh living levels",
        1276:"6561 The unexamined life in not worh living levels",
        1277:"10,000 The unexamined life in not worh living levels",
        1278:"14,641 The unexamined life in not worh living levels",
        1279:"20,736 The unexamined life in not worh living levels",
        1280:"28,561 The unexamined life in not worh living levels",
        1281:"38,416 The unexamined life in not worh living levels",
        1282:"4096 Give me a place to stand and I will move the earth levels",
        1283:"6561 Give me a place to stand and I will move the earth levels",
        1284:"10,000 Give me a place to stand and I will move the earth levels",
        1285:"14,641 Give me a place to stand and I will move the earth levels",
        1286:"20,736 Give me a place to stand and I will move the earth levels",
        1287:"28,561 Give me a place to stand and I will move the earth levels",
        1288:"38,416 Give me a place to stand and I will move the earth levels",
        1289:"4096 Better a diamond with a flaw than a pebble without levels",
        1290:"6561 Better a diamond with a flaw than a pebble without levels",
        1291:"10,000 Better a diamond with a flaw than a pebble without levels",
        1292:"14,641 Better a diamond with a flaw than a pebble without levels",
        1293:"20,736 Better a diamond with a flaw than a pebble without levels",
        1294:"28,561 Better a diamond with a flaw than a pebble without levels",
        1295:"38,416 Better a diamond with a flaw than a pebble without levels",
        1296:"4096 There is no harm with repeating a good thing levels",
        1297:"6561 There is no harm with repeating a good thing levels",
        1298:"10,000 There is no harm with repeating a good thing levels",
        1299:"14,641 There is no harm with repeating a good thing levels",
        1300:"20,736 There is no harm with repeating a good thing levels",
        1301:"28,561 There is no harm with repeating a good thing levels",
        1302:"38,416 There is no harm with repeating a good thing levels",
        1303:"4096 Science is organized knowledge levels",
        1304:"6561 Science is organized knowledge levels",
        1305:"10,000 Science is organized knowledge levels",
        1306:"14,641 Science is organized knowledge levels",
        1307:"20,736 Science is organized knowledge levels",
        1308:"28,561 Science is organized knowledge levels",
        1309:"38,416 Science is organized knowledge levels",
        1310:"4096 Hurry up and live levels",
        1311:"6561 Hurry up and live levels",
        1312:"10,000 Hurry up and live levels",
        1313:"14,641 Hurry up and live levels",
        1314:"20,736 Hurry up and live levels",
        1315:"28,561 Hurry up and live levels",
        1316:"38,416 Hurry up and live levels",
}














